首页 > 解决方案 > 从暂存站点 Nginx 服务器配置中删除 SSL 证书

问题描述

我有一个带有 Nginx 和 Passenger 的 Rails 应用程序托管在 Digital Ocean 上。我正在制作一个临时站点并将我的站点部署到第二个 droplet。我的etc/nginx/sites-enabled/myapp文件有问题。

复制的 droplet 包括 LetsEncrypt certbot 所做的原始编辑。我已经通过用我尝试使用的新 IP 地址替换旧域名来运行它,结果如下

server {
    listen 80 default_server;
    server_name 128.139.143.115;
    passenger_enabled on;
    root /var/www/myapp/current/public;
}

server {
    server_name 128.139.143.115; # managed by Certbot
    passenger_enabled on;
    root /var/www/myapp/current/public;

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/www.myapp.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/www.myapp.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}server {
    if ($host = 128.139.143.115) {
        return 301 https://www.$host$request_uri;
    } # managed by Certbot


    if ($host = 128.139.143.115) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80 ;
    server_name 128.139.143.115;
    return 404; # managed by Certbot
}

有了这个,如果我绕过 Safari 和 Chrome 中的安全欺骗警告,我就可以访问该应用程序(因为显然 IP 地址实际上没有证书)。但是如果我只是从 Certbot 中提取所有代码,Nginx 服务器根本不会启动。我试过只删除部分,但这里没有大致显示所有内容,它根本不起作用。

我是否需要编辑另一个文件才能使其正常工作?它可能与我的防火墙配置有关吗?

标签: ruby-on-railsnginxpassengerdigital-oceanlets-encrypt

解决方案


推荐阅读