NGINX没有回复

时间:2015-05-29 14:24:14

标签: nginx unicorn ruby-on-rails-4.2

我使用NGINX在我的服务器上配置了三个站点,前两个工作正常。一个是静态站点,一个是运行Rails(使用Unicorn)。我试图镜像NGINX / Unicorn配置。

对于非工作站点,我的浏览器中出现“问题加载站点”,我的NGINX错误日志(即使在调试级别)或我的Unicorn日志中也没有任何内容。当我试图进入网站时,我也什么也得不到。

我通过ping域名对DNS进行了双重检查,但我的想法已经用完了。我也尝试将其设为默认服务器并按IP地址浏览。

关于如何进行调试的想法?我想至少了解NGINX是否正在看到这些请求。

NGINX配置:

upstream unicorn-signup {
  server unix:/home/signup/app/tmp/sockets/unicorn.sock;
}

server {
        listen 80;
        listen [::]:80;

        root /home/signup/app/current/public;
        server_name signup.quote2bill.com;

        # configure for Unicorn (NGINX acts as reverse proxy)
        location / {
                try_files $uri @unicorn;
        }

        location @unicorn {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-Forwarded_Proto $scheme;
                proxy_redirect off;
                proxy_pass http://unicorn-signup;
                proxy_read_timeout 300s;
                proxy_send_timeout 300s;
        }
}

1 个答案:

答案 0 :(得分:0)

固定!在我的生产配置中,这是可怕的force_ssl标志。对于未来的旅行者,以下是我如何进行故障排除:

  1. 去Costco跑步以清除我的想法并购买大量的东西。
  2. 要确定它是否是DNS,NGINX或Unicorn / Rails问题,我用一个非常简单的配置替换了我的NGINX配置,并在我的公共根目录中放置了一个简单的index.html。这工作得很好 - 这让DNS摆脱困境(我可以在Web服务器上解析域名)。
  3. 我第一次对工作和非工作的NGINX配置文件进行了差异化,并使它们尽可能接近但没有找到任何东西。
  4. 然后我注意到当我在上面的#2中提供简单的index.html文件时,域名没有被重定向到https://但是当切换到我的“普通”Unicorn / Rails版本时,我总是被重定向。
  5. 我搜索了Rails重定向到SSL并记住了force_ssl标志。
  6. 我检查了我的两个项目并注意到工作项目中没有设置标志,但设置在非工作项目(吸烟枪)中。
  7. 我更改,提交,重新部署并重新加载了浏览器...它没有用(!)幸运的是,我对clear browser cache有了良好的认识并再次尝试,现在一切都很好。
  8. 希望这有助于某人。