nginx重定向只能在firefox中失败

时间:2013-06-04 00:36:40

标签: firefox redirect nginx

我正在使用 nginx 的以下配置文件,它适用于Chrome,但不适用于Firefox。使用Firefox,我收到以下错误:

"Firefox has detected that the server is redirecting the request for 
this address in a way that will never complete."

如果Firefox没有帮助,请清除Cookie并缓存。

upstream dev_server {
  server 127.0.0.1:8100 fail_timeout=0;
}

server {
  listen 80;
  server_name subdomain.pro.domain.com;
  location /blog {
    proxy_pass http://dev_server;

    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

    proxy_set_header  Accept-Encoding "";
    proxy_set_header  Host $host;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto $scheme;
    add_header        Front-End-Https   on;

    proxy_redirect    off;
  }
  location / {
    rewrite     ^(.*)$ https://subdomain.pro.domain.com$1;
  }
}

server {
  listen              443;
  ssl                 on;
  server_name         subdomain.pro.domain.com;

  ssl_certificate     /etc/nginx/star.pro.domain.com.crt;
  ssl_certificate_key /etc/nginx/star.pro.domain.com.key;

  ### SSL settings here ###
  ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers         RC4:HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers on;
  keepalive_timeout   60;
  ssl_session_cache   shared:SSL:10m;
  ssl_session_timeout 10m;

  add_header Strict-Transport-Security max-age=500;

  location /blog {
    rewrite     ^(.*)$ http://subdomain.pro.domain.com$1;
  }

  location / {
    proxy_pass http://dev_server;

    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

    proxy_set_header  Accept-Encoding "";
    proxy_set_header  Host $http_host;
    proxy_set_header  X-M-Secure "true";
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto $scheme;
    add_header        Front-End-Https   on;
    proxy_max_temp_file_size 0;

    proxy_redirect    off;
  }
}

1 个答案:

答案 0 :(得分:0)

发现了这个问题。

由于/ blog重定向到HTTP并且所有其他路径都重定向到HTTPS,因此问题在于以下配置行:

add_header Strict-Transport-Security max-age=500;

当我评论出这一行时,问题就消失了。