1. 前言
本文主要演示如何快速搭建一个https网站,并可申请权威机构颁发的tls数字证书。
最终成品:一个公网可访问的加密https网站,普通浏览器也可兼职的HTTPS证书。
实施前提:
-
- 带公网IP的CentOS 7.X/8.X系统
-
- 具有root权限
-
- 具有域名控制权,可做DNS映射,比如域网与IP的映射
-
- 熟悉Linux基本命令行操作,比如vi命令
软件工具清单:
-
- nginx:Nginx是一款面向性能设计的HTTP服务器,也可以用作反向代理、负载平衡器和HTTP缓存。
-
- python2-certbot-nginx用于申请免费的https证书。
2. 搭建步骤
2.1 安装相关组件
先安装epel仓库,可以理解为CentOS的扩展仓库,像nginx这类程序就放在EPEL仓库里:
yum -y install epel-release && yum -y update
再安装nginx和python2-certbot-nginx组件:
yum -y install nginx python2-certbot-nginx
2.2 设置nginx开机自启动
systemctl enable nginx.service
2.3 设置防火墙开放相关服务
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
2.4 移除nginx默认页面
mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.bak
2.5 新建nginx测试页面
vi /usr/share/nginx/html/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>这是一个HTML5的网页</title>
</head>
<body>
<p>Hello HTML5</p>
</body>
</html>
2.6 重设SELinux标签
restorecon -RvF /usr/share/nginx/
2.7 配置nginx虚拟主机
vi /etc/nginx/conf.d/blog.conf
加入以下内容:
#The www server conf_file
server {
listen 80;
listen [::]:80;
server_name blog.linuxrumen.com;
root /usr/share/nginx/html;
}
2.8 申请免费权威的tls证书
certbot --nginx
2.9 测试nginx配置
nginx -t
2.10 重启nginx服务
systemctl restart nginx.service
2.11 使用标准浏览器测试
浏览器上输入域名,试试打开网页
2.12 每90天重新申请tls证书
免费的https证书每隔90天要更新一次,90天后执行以下命令更新证书,或者写成crontab计划任务自动更新。
certbot renew
3. 总结
通过本文,您应该清楚如何快速建立一个https网页了吧?本教程还教您如何申请免费的https证书呢,该证书主流的浏览器都能识别和认可。网站的文件应该安装在/usr/share/nginx/html/
,比如wordpress。如果有更好的建议,请留言。
评论前必须登录!
注册