Nginx HTTPS(443)配置被忽略,而使用HTTP(80)

Nginx HTTPS(443)配置被忽略,而使用HTTP(80),nginx,ssl,server,Nginx,Ssl,Server,我试图将非安全(domain.com和)重定向到安全版本,但遇到“重定向太多”错误 因此,我决定简化配置以进行测试,并尝试找出错误 server { listen 80; listen [::]:80 ipv6only=on; server_name example.com www.example.com; return 302 https://www.google.com; } server { listen 443 ssl http2;

我试图将非安全(domain.com和)重定向到安全版本,但遇到“重定向太多”错误

因此,我决定简化配置以进行测试,并尝试找出错误

server {
    listen 80;
    listen [::]:80 ipv6only=on;

    server_name example.com www.example.com;

    return 302 https://www.google.com;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2 ipv6only=on;

    ssl_certificate         /etc/ssl/cert.pem;
    ssl_certificate_key     /etc/ssl/cert.key;

    server_name example.com www.example.com;
    
    return 302 https://www.amazon.com;
}
如果我没有错,当我访问或

如果我访问或访问,我应该被重定向到


但是,无论如何,我总是被重新引导到。怎么了?

您的浏览器可能正在缓存重定向。 尝试对这两个测试用例使用Incognito窗口。您的配置文件似乎很好

对于domain.com,您可以具有以下配置:

server {
  server_name _;
  listen 443;

  root /var/www/html;
  location / {
    try_files $uri $uri/ /index.html;
  }
}

server {
  listen 80;
  server_name _;

  return 301 https://$host$request_uri;
}