我有一台使用 Nginx 运行多服务的服务器。
这是第一个服务配置,http 转发到 https。
server {
listen 80;
server_name aaa.com;
return 301 https://$host$request_uri;
}
server {
server_name aaa.com;
listen 443 ssl;
... ssl config ...
proxy_pass=...
}
第二个服务仅配置为 http 服务,因此我将其配置为仅侦听 80。
listen 80;
...
但是当我尝试使用第二个服务访问 https 时,浏览器会显示第一个带有 https 连接的服务。
通过一些谷歌搜索,我知道 https 连接将在 http 之前,所以 https 配置是提前工作的。
更新
设置第二个服务后,第二个服务的 https 没有连接到第一个服务。
listen 80;
listen 443;
...
更新
Add listen 443;使第一个服务的 https 不起作用。也许它从第一个服务中窃取了 ssl 连接。
问题
在这种情况下,我可以将 Nginx 设置为分别运行每个 http / https 服务器吗?
要清楚,
目标是,
第一个服务:http -> https
第二个服务:https -> http