NGINX会忽略错误的证书和配置而只是运行?

时间:2017-06-28 04:42:14

标签: ssl nginx dns

我们有和app将自动生成的SSL证书上传到我们的NGINX负载均衡器。有一次,我们遇到了这个问题"不良证书"上传,然后执行自动nginx reload,我们的服务器离线一段时间导致我们的服务器域出现DNS问题(未找到DNS)。给我们的客户带来巨大的停机时间。

然而,在我们的应用程序中,允许应用程序上传SSL cerficate并且我们的后端服务器自动安装它是一个功能/功能,有没有办法告诉忽略错误的NGINX conf文件和crt/key完全一样? 查看之前的日志,我记得在事件发生前我看到过SSL握手错误。

以下是我们的主nginx-jelastic.conf的样子:

######## HTTP SECTION PROTOTYPE ########
http {
    server_tokens off ;
    ### other settings hidden for simplicity
    include /etc/nginx/conf.d/*.conf;
}
######## TCP SECTION PROTOTYPE ########

所以我在想,如果nginx可以忽略位于那里的所有不良NGINX配置文件。以下是在conf.d文件夹中上传内容的示例:

www.example-domain.com HTTPS服务器配置

server {
    listen 443 ssl;
    server_name www.example-domain.com;
    ssl_certificate /var/lib/nginx/ssl/www.example-domain.com.crt;
    ssl_certificate_key /var/lib/nginx/ssl/www.example-domain.com.key;
    access_log /var/log/nginx/localhost.access_log main;
    error_log /var/log/nginx/localhost.error_log info;
    proxy_temp_path /var/nginx/tmp/;
    error_page   500 502 503 504  /50x.html;

    location = /50x.html {
        root   html;
    }

    location / {
        set $upstream_name common;
        include conf.d/ssl.upstreams.inc;
        proxy_pass http://$upstream_name;
        proxy_next_upstream error;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Host $http_host;
        proxy_set_header X-Forwarded-For $http_x_forwarded_for;
        proxy_set_header X-URI $uri;
        proxy_set_header X-ARGS $args;
        proxy_set_header Refer $http_refer;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

由于某种原因,配置中指示的证书和密钥可能是错误的,那就是破坏nginx服务器并且由于我们的域通过A记录指向该服务器,如果nginx作为DNS失败则完全是灾难问题发生了,DNS可能需要24-48小时才能恢复。

0 个答案:

没有答案