0

我有一台使用 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

4

0 回答 0