我用 vagrant 在 virtual box 上安装了 centos7 ,然后编译安装了 nginx ,监听的是 8080 ,本来想用主机的 80 端口转发到虚拟机的 8080 端口,但是 virtual box 的端口转发死活不生效。 这是 vagrant 配置部分
config.vm.network "private_network", ip: "11.11.11.11"
config.vm.network "forwarded_port", guest: 8080, host: 80
我在主机上直接用 8080 端口就可以正常访问, selinux 和防火墙都关了还是不行 直接在主机上用curl访问是这种报这个错,应该是端口转发没成功
curl: (7) Failed to connect to www.test.com port 80: Connection refused
大家有遇到过这种情况吗?
1
Bardon 2017-04-02 10:06:30 +08:00
以为 1024 以下的端口,需要 root
|
2
gps32251070 OP @Bardon 我把主机端口换成 8888 也不行
|
3
gps32251070 OP @Bardon 并且在虚拟机里面把 nginx 监听改成 80 ,主机直接 80 端口也能访问成功
|
4
lookerson 2017-04-02 10:11:30 +08:00
你的 nginx 监听的 ip 地址是多少? localhost?
|
5
gps32251070 OP @lookerson 就是域名, www.test.com
|
6
gps32251070 OP |
7
daniellu 2017-04-02 10:15:33 +08:00
你直接用 private ip 访问 8080 可以访问到吗?
|
8
gps32251070 OP @daniellu 可以访问到的
|
9
Bardon 2017-04-02 10:16:39 +08:00
呃, domain 是你事先解析好的,还是帖子中只是个示例?直接 curl ip?
|
10
Bardon 2017-04-02 10:17:35 +08:00
一下子冒出那么多楼层了
我第二个疑问忽略 |
11
gps32251070 OP @Bardon 解析好了,我改了 host ,访问的时候就直接域名访问
|
12
vnady 2017-04-02 10:25:24 +08:00
跟楼主遇到同样的问题,我是 8080 转发到虚拟机的 5000 。我猜测可能是虚拟网卡的局域网设置有问题,是不是与 VMware 的 NAT 模式、 Host Only 类似设置有关。虚拟机的网卡与主机网卡不在同一个网段?
|
13
gps32251070 OP @vnady 网卡确实有两个一个是 nat 一个是 host only ,端口转发是在 nat 下面
|