我安装了 VirtualBox 4.3.12、Fedora 20 和 nginx 1.4.7。机器具有桥接网络接口,并且可以通过两种方式执行 ping:从主机 (Windows 7) 使用
ping 192.168.0.15
(虚拟机的IP地址)
并从访客机器
ping 192.168.0.10
(主机IP地址)
但我不能做的是从主机访问访客机器的 nginx。我读过了这和这并按照这些文章/之前提出的问题告诉我的那样做了,但我仍然无法从主机查看 nginx 站点。
netstat -tnlp
返回:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 930/nginx: master p
答案1
当我这样做时:
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
我收到以下错误:
iptables: Index of insertion too big.
原因是我没有任何适当的策略,因此“INPUT 4”部分尝试在索引 4 处插入,而索引应该为 1。要查看您的规则,请执行以下操作:
sudo iptables --list-rules
然后插入到适当的索引处。 (在多数情况下):
sudo iptables -I INPUT 1 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
这终于可以发挥作用了!
我的虚拟机设置是:
- 主机端口8080,
- 访客IP 10.0.2.15
- 访客端口 80
nginxconf 文件是:
server {
listen 0.0.0.0:80;
location / {
proxy_pass http://localhost:9000;
}
}
答案2
我做了:
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
在虚拟机的控制台中,它工作了。