【问题标题】:nginx settings are correct but fails to proxy: logs show zero error/activitynginx 设置正确但无法代理:日志显示零错误/活动
【发布时间】:2017-07-02 07:38:24
【问题描述】:

我有一个域会访问我的 nginx 代理,以在不同端口上本地路由到他们的 nodejs 托管站点。大约一个月前它停止工作:

DNS A 记录正常并转发到正确的 IP 如果我使用正确的端口(3100)访问 ip 地址,网站就可以工作 见鬼,即使我输入 domain.com:3100 也能正常工作。 这是一个 Ec2 实例,端口对所有 IP 地址开放

这里是 sites-enabled/site-available 文件夹中的配置文件:

server {
listen  80;
server_name www.cpcarpet.com cpcarpet.com;
 access_log /var/log/nginx/cpcarpetaccess.log;
error_log /var/log/nginx/cpcarpeterror.error.log debug;

   location / {
        proxy_pass http://localhost:3100/;
     proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

我已经重新启动了 nginx 服务并更新了软件包,但似乎没有任何效果。有什么想法吗?

所以要澄清什么是有效的:

IP 地址:3100 有效!好的!

cpcarpet.com:3100 有效!(因此 A 记录设置正确)有效!好的!

www.cpcarpet.com 还是 cpcarpet.com?不工作!日志文件也没有显示访问/错误。

【问题讨论】:

  • 您查看日志文件了吗?可能有一些线索
  • 尝试将localhost更改为实际IP -> 127.0.0.1:3100
  • @aarosil 日志文件没有显示任何奇怪的东西(空)。如果我直接连接端口,一般访问日志会显示该节点应用程序的成功活动或错误。好像我的代理被完全绕过了。
  • @Molda 现在试过了,没用。
  • 在 nginx 中设置详细日志记录,它至少应该在启动时记录一些内容。可能这是一些容易被忽视但至关重要的细节

标签: node.js nginx amazon-ec2 proxy


【解决方案1】:

试试这个。希望对您有所帮助。

 server {
   listen 80;

   server_name cpcarpet.com;

   location / {
       proxy_pass http://localhost:3100;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection 'upgrade';
       proxy_set_header Host $host;
       proxy_cache_bypass $http_upgrade;
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-06
    • 2018-06-23
    • 2016-11-15
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 2011-03-31
    相关资源
    最近更新 更多