前期准备
- 域名、服务器
- SSL 证书
- SSH 客户机
- SFTP 客户端
本教程环境
- 阿里云服务器
CentOS Linux release 7.3.1611 (Core)
- 阿里云一年免费 Symantec SSL 证书
- FinalShell SSH 客户机
- WinSCP SFTP 客户端
第一步 - 安装 Nginx
- 使用 FinalShell 连接到服务器
- Nginx 不在默认的 yum 源中,所以首先需要添加 yum 源
$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 安装 Nginx
$ sudo yum install nginx`
- 配置 Nginx 服务
// 设置开机启动
$ sudo systemctl enable nginx
// 启动服务
$ sudo systemctl start nginx
// 重启服务
$ sudo systemctl restart nginx
// 重新加载
$ sudo systemctl reload nginx
// 设置反向代理
$ sudo setsebool httpd_can_network_connect 1
第二步 - 上传证书
-
依次找到
/etc/nginx/
文件夹,并创建一个存储证书的文件夹cert
-
或者使用命令创建
$ sudo mkdir -p /etc/nginx/cert
- 把购买的证书(
.pem
和.key
),上传到cert
文件夹下
- 回到上一级目录,找到
conf.d
文件夹,新建一个443.conf
文件
HTTPS 的默认端口号是 443,所以需要配置网站服务器监听 443 端口。
- 将下面的代码粘贴到
443.conf
server {
listen 443;
server_name localhost;
ssl on;
root /usr/local/site/dist;
index index.html index.htm;
ssl_certificate /etc/nginx/cert/limengzhe.work.pem;
ssl_certificate_key /etc/nginx/cert/limengzhe.work.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/site/dist;
index index.html index.htm;
}
}
其中,
root
指向静态html
的目录,index
指向需要出现在首页的html
文件,请按需修改。
- 重新加载 Nginx 服务
$ sudo systemctl reload nginx
-
将 443 端口添加到安全组规则
-
现在打开你的域名即可看到已经支持https访问
第三步 - 默认指向 https
-
打开当前目录下的
default.conf
-
在
server_name
下一行输入return 301 https://$host$request_uri;
并保存
-
此时即使输入
http://
也会跳转至https://
-
到这一步, Nginx 构建 https 网站也就完成了,预祝各位成功。
网友评论