Ubuntu Nginx未获取web请求

Ubuntu Nginx未获取web请求,ubuntu,nginx,Ubuntu,Nginx,我有一个rails应用程序正在为端口80提供资产,但rails应用程序本身正在3000上运行。为了解决这个问题,我使用nginx代理来自3000到80端口的自定义主机的请求,这非常有效,但我的应用程序也需要通配符dns 我为通配符dns安装了echoipdns: 一开始它还能工作,但我关闭了我的电脑(Ubuntu 14.04),然后又重新打开了它,并且没有互联网接入(能够ping外部ip的任何域) 发现/etc/resolv.conf被设置为nameserver127.0.0.1,这就是ech

我有一个rails应用程序正在为端口80提供资产,但rails应用程序本身正在3000上运行。为了解决这个问题,我使用nginx代理来自3000到80端口的自定义主机的请求,这非常有效,但我的应用程序也需要通配符dns

我为通配符dns安装了
echoipdns

一开始它还能工作,但我关闭了我的电脑(Ubuntu 14.04),然后又重新打开了它,并且没有互联网接入(能够ping外部ip的任何域)

发现/etc/resolv.conf被设置为
nameserver127.0.0.1
,这就是echoipdns为使其能够使用自己的dns所做的更改

我通过将/etc/resolv.conf切换回
nameserver 127.0.1.1
修复了internet问题,因此dnsmasq是dns服务器,并发现我可以明确地告诉echoipdns将所有非本地请求路由到另一个dns服务器,如下所示:
sudo echoipdns development-f 127.0.1.1
,它将所有结束其
开发的请求路由到它自己的dns(返回一个包含正确主机的A记录)以及dnsmasq处理127.0.1.1的所有其他请求

echoipdns和互联网正在运行,但是。。。Nginx没有提供任何服务

我卸载并重新安装了nginx,它现在有默认的virtualhost,但转到
localhost
不提供nginx index.html,它不提供任何服务,甚至不提供“坏网关”。我没有在错误或访问日志中得到任何信息,所以这一定是某种网络问题


我不知道从哪里开始这个问题,所以任何帮助将不胜感激

这最终成为
iptables的一个问题

我在“刷新所有规则,删除非默认链”下运行了以下命令:

这就解决了问题

Echoipdns设置预路由规则,将请求从端口80路由到20559,从端口443路由到20558


重置这些规则使nginx默认页面立即出现。

您的
/etc/hosts
怎么说?localhost是否仍指向127.0.0.1?是的,我还为代理设置了一个自定义主机:
127.0.0.1 dev
发布您的nginx配置文件以进行进一步调查。nginx配置(包括vhost)目前完全可用。我完全删除了nginx并重新安装了它。