Nginx配置导致无限重定向循环。

14 浏览
0 Comments

Nginx配置导致无限重定向循环。

所以我查看了我能找到的所有示例配置,但是每次尝试查看需要ssl的页面时,我都会陷入重定向循环中。我正在运行nginx/0.8.53和passenger 3.0.2。

这是ssl配置:

server  {
  listen 443 default ssl;
  server_name .com www..com;
  root /home/app//public;
  passenger_enabled on;
  rails_env production;  
  ssl_certificate      /home/app/ssl/.com.pem;
  ssl_certificate_key  /home/app/ssl/.key;
  proxy_set_header  X-Real-IP  $remote_addr;
  proxy_set_header  X_FORWARDED_PROTO https;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header  Host $http_host;
  proxy_set_header  X-Url-Scheme $scheme;
  proxy_redirect    off;
  proxy_max_temp_file_size 0;
  location /blog {
    rewrite ^/blog(/.*)?$ http://blog..com/$1 permanent;
  }
  location ~* \.(js|css|jpg|jpeg|gif|png)$ {
    if (-f $request_filename) {
      expires      max;
      break;
    }
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
    root   html;
  }
}

这是非ssl配置:

server  {
  listen 80;
  server_name .com www..com;
  root /home/app//public;
  passenger_enabled on;
  rails_env production;  
  location /blog {
    rewrite ^/blog(/.*)?$ http://blog..com/$1 permanent;
  }
  location ~* \.(js|css|jpg|jpeg|gif|png)$ {
    if (-f $request_filename) {
      expires      max;
      break;
    }
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
    root   html;
  }
}

请让我知道是否有任何额外的信息可以提供帮助诊断问题。

admin 更改状态以发布 2023年5月21日
0
0 Comments

我尝试了很多建议,但是都没有解决我的问题。后来我意识到,由于我使用了Cloudflare,问题可能不在服务器上,而是与Cloudflare有关。当我将SSL设置为Full (Strict)时,一切都正常了!

cloudflare ssl

0
0 Comments

这是你的行:

  listen 443 default ssl;

把它改成:

listen 443;
ssl on;

这就是我称之为旧风格的方式。
此外,

              proxy_set_header X_FORWARDED_PROTO https;
              proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header  Host $http_host;
              proxy_set_header  X-Url-Scheme $scheme;
              proxy_redirect    off;
              proxy_max_temp_file_size 0;

对我非常有用。我现在发现我缺少你的真实IP行,但是到目前为止,这解决了我的ssl_requirement和ssl_enforcer无限循环的问题。

0