【发布时间】: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