无法在 Virtualbox 机器上访问 NGINX:连接被拒绝

无法在 Virtualbox 机器上访问 NGINX:连接被拒绝

我在 VirtualBox 上设置了一个 ArchLinux 框,在其中安装并配置了 NGINX 服务以接受来自任何地方的请求。

listen 80;
server_name _;

我还更新了我的 UFW(并且尝试禁用它)以允许从 WWW(80)的任何位置进行访问,并且我还设置了仅主机网络桥,以便我可以通过静态 IP 从我的 Windows 主机访问我的盒子。

Status: active

To                         Action      From
--                         ------      ----
WWW                        ALLOW       Anywhere                  
WWW (v6)                   ALLOW       Anywhere (v6)   

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.33.16  netmask 255.255.255.0  broadcast 192.168.33.255
        inet6 fe80::a00:27ff:fead:14c2  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:ad:14:c2  txqueuelen 1000  (Ethernet)
        RX packets 495  bytes 82862 (80.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 45  bytes 5446 (5.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我可以通过给定的 IP 地址 (从其他 GUEST 机器和 HOST 机器) ping 该盒子,也可以 cURL 该 IP (如果我在同一个网络上),但是当我尝试从我的浏览器访问它时,在 Windows 主机上,我无法:“无法访问此站点”

PING:从主机 Windows 计算机

    Pinging 192.168.33.16 with 32 bytes of data: 
    Reply from 192.168.33.16: bytes=32 time<1ms TTL=128 
    Reply from 192.168.33.16: bytes=32 time<1ms TTL=128 
    Reply from 192.168.33.16: bytes=32 time<1ms TTL=128 
    Reply from 192.168.33.16: bytes=32 time<1ms TTL=128

    Ping statistics for 192.168.33.16:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

CURL:来自同一网络内的其他 GUEST 机器

curl -I 192.168.33.16:80
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Mon, 10 Oct 2016 11:02:03 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 31 May 2016 18:11:32 GMT
Connection: keep-alive
ETag: "574dd3d4-264"
Accept-Ranges: bytes

CURL:从主机 Windows 计算机

curl: (7) Failed to connect to 192.168.33.16 port 80: Connection refused

有什么想法可以解释为什么以及如何解决它吗?

谢谢

答案1

好吧……经过一段时间的反复试验,似乎更改网络适配器并更改该适配器上定义的 IP 范围就可以了。我不知道这是否是它应该的工作方式,但它确实做到了。主要区别在于并非所有的 VirtualBox 都位于同一 IP 范围内。我的 Vagrant 是,而这个全新安装的不是。

如果有人有更好的解决方法或真正的解决方案(以便我们可以使用相同的适配器并将所有盒子保持在同一个网络上)请与我(和我们其他人)分享。

谢谢!

相关内容