在 NGINX 上安装 SSL 证书 - 开启 HTTPS 访问
一、在你开始之前
请确保您已下载证书文件。
没有证书?请从 https://www.sslforfree.com 上申请 90 天免费证书。
下载证书后,您应该有一个包含以下证书文件的 ZIP:
certificate.crt
ca_bundle.crt
private.key
二、上传证书文件
首先,您需要将上面的证书文件(certificate.crt、ca_bundle.crt 和 private.key)上传到您选择的 NGINX 服务器目录中。
SSL证书文件存放目录:
/etc/ssl
三、合并 .crt 文件
NGINX 需要合并所有 .crt 文件才能允许 SSL 安装。 您需要运行以下命令才能合并certificate.crt 和ca_bundle.crt 文件。
$ cat certificate.crt ca_bundle.crt >> certificate.crt
四、编辑虚拟主机文件
接下来,您需要找到 NGINX 虚拟主机文件(/etc/nginx/nginx.conf
)并添加一些代码以将其指向新的 SSL 证书。
打开虚拟主机文件后,创建现有非安全服务器模块的副本并将其粘贴到原始文件下方。
1、备份原文件:
$ cd /etc/nginx
$ cp nginx.conf nginx.conf.bak
$ vi nginx.conf
2、将以下配置添加到 nginx.conf
中:
http {
# Settings for a TLS enabled server.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl on;
ssl_certificate /etc/ssl/certificate.crt;
ssl_certificate_key /etc/ssl/private.key;
server_name yourdomian.com www.yourdomian.com;
access_log /dev/null;
error_log /var/log/nginx/nginx.vhost.error.log;
# 将请求全部转发到 80 端口
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
五、重启 Nginx
最后,您需要重新启动 NGINX 服务器才能使更改生效。 您可以运行以下命令来重新启动 NGINX 服务器:
$ sudo /etc/init.d/nginx restart
或者:
$ systemctl stop nginx
$ systemctl start nginx
$ systemctl status nginx
# 设置开启启动
$ systemctl enable nginx
转载请注明,
原文连接:https://www.cnblogs.com/eddyz/p/17778900.html