【发布时间】:2022-01-14 15:21:37
【问题描述】:
我在集成 Web 服务器时有一些问题。 我的服务器开发为 nginx + nodejs + azure 负载均衡器。
现在我正在使用 2 个域。但我必须重定向到一个域。 而且我还必须将所有 http 重定向到 https。
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name {MY_DOMAIN_1};
ssl_certificate_key /etc/nginx/ssl/_wildcard_.{MY_DOMAIN_1}_20211208D2F14.key.pem;
ssl_certificate /etc/nginx/ssl/_wildcard_.{MY_DOMAIN_1}_20211208D2F14.ca-bundle.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Proxy-From {MY_DOMAIN_1};
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}
}
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name {MY_DOMAIN_2} www.{MY_DOMAIN_1} www.{MY_DOMAIN_2};
ssl_certificate_key /etc/nginx/ssl/_wildcard_.{MY_DOMAIN_1}_20211208D2F14.key.pem;
ssl_certificate /etc/nginx/ssl/_wildcard_.{MY_DOMAIN_1}_20211208D2F14.ca-bundle.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
return 301 $scheme://{MY_DOMAIN_1}$request_uri;
}
这是我的代码。我以为没有问题。。 但它不起作用。(只有 http -> https 不起作用,转发到一个域有效) 请帮我。谢谢
【问题讨论】: