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