一个nginx虚拟服务器如何处理端口80和443?

我有一个虚拟服务器设置的configuration文件,这是运行在端口443 ssl。 我也想这个相同的虚拟服务器端口80上处理非SSLstream量。

我希望能做到以下,但似乎没有工作。

server { listen 443 ssl; listen 80; server_name example.com; ... } 

它看起来像这些设置下面的SSL选项导致非SSLstream量的问题。

删除ssl on; 指示。

listen指令中的ssl标志正是你所需要的。

请参阅http://nginx.org/en/docs/http/configuring_https_servers.html#single_http_https_server

当然是。

 server { listen 80; listen 443 ssl; # force https-redirects if ($scheme = http) { return 301 https://$server_name$request_uri; } } 

这里是我的文章,名称为“ HTTPS的Nginx配置 ”,其中包含更多信息。