我意识到这看起来像至less有其他几个问题的重复,但我已经多次阅读它们,但仍然做错了什么。
以下是位于/etc/nginx/sites-available
myexample.com nginxconfiguration文件的内容。
server { listen 443 ssl; listen [::]:443 ssl; server_name myexample.com www.myexample.com; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; ssl_certificate /etc/letsencrypt/live/myexample.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myexample.com/privkey.pem; #Configures the publicly served root directory #Configures the index file to be served root /var/www/myexample.com; index index.html index.htm; }
它的工作原理,当我去https://myexample.com内容服务和连接是安全的。 所以这个configuration似乎是好的。
现在,如果我将ssl端口更改为9443并重新加载nginxconfiguration,则configuration将无误地重新加载,但访问https://myexample.com会在浏览器中显示错误(无法到达此站点/ myexample.com拒绝连接。ERR_CONNECTION_REFUSED)
我已经尝试了build议和文档, 在 这里 , 在 这里 (其中),但我总是得到ERR_CONNECTION_REFUSED错误。
我应该注意到,我可以使用非标准端口,然后将该端口显式input到URL中,例如https://myexample.com:9443 。 但我不想这样做。 我想要的是,用户能够将myexample.com键入到任何浏览器,并将nginx自动redirect到安全连接。
再一次,当我使用标准的443 SSL端口时,我没有任何问题。
编辑:我在debian / jessie上使用nginx / 1.6.2
为了支持在浏览器中键入“ https://myexample.com ”, 并通过监听9443端口的nginx
configuration来处理, 您将需要一个额外的nginx
configuration,仍然监听端口443,因为这是IP浏览器连接的端口 。
从而:
server { listen 443 ssl; listen [::]:443 ssl; server_name myexample.com www.myexample.com; ssl_certificate /etc/letsencrypt/live/myexample.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myexample.com/privkey.pem; # Redirect the browser to our port 9443 config return 301 $scheme://myexample.com:9443$request_uri; } server { listen 9443 ssl; listen [::]:9443 ssl; server_name myexample.com www.myexample.com; ssl_certificate /etc/letsencrypt/live/myexample.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myexample.com/privkey.pem; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; #Configures the publicly served root directory #Configures the index file to be served root /var/www/myexample.com; index index.html index.htm; }
请注意,两个部分都需要相同的证书/密钥,因为证书通常绑定到DNS主机名,但不一定是端口。
希望这可以帮助!
当你键入https://example.com时 ,https://scheme的标准是连接到端口443.在你的情况下,你已经移动你的服务器,现在它监听端口9443。因为这个消息 – 没有什么是在端口443上听。
您将需要安排在端口443上监听某个端口,将连接redirect到端口9443,或将端口用作URL的一部分。
如果将端口更改为非标准端口(如9443),则需要将redirect从443添加到9443.将nginx设置为反向代理端口。