NGINX 安装 SSL 证书 - 开启 HTTPS 访问

在 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 > certificates.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/certificates.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

posted @ 2023-10-21 14:10  炎黄子孙,龙的传人  阅读(458)  评论(0编辑  收藏  举报