我尝试了几件被指出的事情,但不明白为什么我无法看到在运行 Debian 的谷歌计算机上运行的服务器页面。
我已经在计算实例上安装了 nginx。
- 输出
netstat -an | grep "LISTEN "
如下
:
tcp 0 0 127.0.0.1:8998 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:65001 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:40333 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:26 0.0.0.0:* LISTEN
tcp6 0 0 :::8085 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::26 :::* LISTEN
我已经在防火墙中允许 http 和 https
这是我的 iptables
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-ISOLATION all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (1 references)
target prot opt source destination
Chain DOCKER-ISOLATION (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
当我执行 telnet ip 80 时,
出现连接被拒绝错误。在我的防火墙规则中,我另外添加了“udp:80”;允许所有ip。
我从 GCP 仪表板导航到 IP(https://35.202.214.186/)我尝试删除 https 来做到这一点http://35.202.214.186
但我无法访问该网站。
请求任何帮助指示。
答案1
在 Compute Engine 虚拟机上,有两个单独的防火墙可能需要妥善维护。第一个是虚拟机的内部防火墙(iptables,...),通常您不需要修改其规则,因为默认配置适用于大多数应用程序。
第二道防火墙是Compute Engine VPC 防火墙。此防火墙带有 HTTP 和 HTTPS 协议的默认规则默认 VPC 网络。如果您的虚拟机是在此默认 VPC 网络上创建的,那么您只需要验证防火墙规则是否存在,并使用http-server
和标记您的虚拟机https-server
。否则,您应该创建适当的规则以允许这些协议/流量。