Nginx替换配置中的PEM文件

时间:2018-07-26 17:26:58

标签: ssl nginx

我正在使用一些提供的证书来配置Nginx。

起初,我尝试使用自签名证书,并且可以使用。 我只是用过:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

并编辑我的自我证书文件:

$ sudo nano /etc/nginx/snippets/self-signed.conf

ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

并包括pem文件:

$ /etc/nginx/snippets/ssl-params.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem;

生成bak文件

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

并编辑文件:/etc/nginx/sites-available/default

使用

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name server_domain_or_IP;
    return 302 https://$server_name$request_uri;
}

server {

    # SSL configuration

    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    include snippets/self-signed.conf;
    include snippets/ssl-params.conf;
    ....
}

要测试一切正常,请执行:

sudo nginx -t

确定,可以正常工作,并显示一条消息:

  

此连接不安全

没关系,因为它是自签名证书。

但是,此刻,我的提供者向我发送了2个文件,以替换为有效的pem文件:

yourdomain.app-key.pemyourdomain.app-cert.pem

我将它们放置在正确的位置,并使用以下命令更新文件:

$ sudo nano /etc/nginx/snippets/self-signed.conf

ssl_certificate /etc/ssl/certs/yourdomain.app-cert.pem;
ssl_certificate_key /etc/ssl/private/yourdomain.app-key.pem;

要测试一切正常,请执行:

sudo nginx -t

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

但是,当我尝试访问该网站时,仍然会出现我自己的自签名证书。

我在此过程中失去了什么步骤?

1 个答案:

答案 0 :(得分:1)

运行sudo nginx -t时,您只是在测试配置应用。尝试重新加载nginx服务(实际命令取决于您的操作系统)

$ sudo service nginx reload

$ sudo systemctl reload nginx

然后重新访问该站点,如果该站点仍然失败,请尝试使用专用浏览器模式来验证它不是某种浏览器缓存问题