我正在使用puma和nginx运行一个dockerized rails应用程序,但是,当我试图从浏览器访问应用程序时,我会得到ERR_TOO_MANY_REDIRECTS。我在我的application.rb上有config.force_ssl = true
,这是我的nginx conf文件:
upstream kisoul {
server rails:3000;
}
server {
listen 80;
listen 443 ssl;
root /usr/share/nginx/kisoul;
try_files $uri @kisoul;
location @kisoul {
proxy_pass_request_headers on;
proxy_ignore_headers Expires Cache-Control;
proxy_set_header Host $http_host;
proxy_pass_header Set-Cookie;
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://kisoul;
}
ssl_certificate /etc/nginx/fullchain.pem;
ssl_certificate_key /etc/nginx/privkey.pem;
}
我已经试过从rails禁用force_ssl
并强制通过nginx重定向,但后来我遇到了Origin头的问题,说origin头(https://localhost)不匹配request.base_url(HTTP://localhost)
我尝试了许多不同的解决方案已经在这里描述,但我找不到任何解决方案
1条答案
按热度按时间olhwl3o21#
下面的一行,在你的NGINX配置中,应该在你的Ruby on Rails应用程序中修复
config.force_ssl = true
时修复ERR_TOO_MANY_REDIRECTS
。看看我最近做的
/etc/nginx/sites-available/default
,rails + puma + nginx + let's encrypt: