在 Google Compute Instance 上打开 443?

在 Google Compute Instance 上打开 443?

由于某种原因,我无法在我的 Google 计算实例上打开端口 443。我已在实例上启用 HTTPS 服务器,使用gcloud compute firewall-rules list返回以下规则:

NAME                    NETWORK  DIRECTION  PRIORITY  ALLOW                         DENY
default-allow-http      default  INGRESS    1000      tcp:80
default-allow-https     default  INGRESS    1000      tcp:443
default-allow-icmp      default  INGRESS    65534     icmp
default-allow-internal  default  INGRESS    65534     tcp:0-65535,udp:0-65535,icmp
default-allow-rdp       default  INGRESS    65534     tcp:3389
default-allow-ssh       default  INGRESS    65534     tcp:22

然而,当我使用类似的东西检查端口是否打开时,nmap它说它已关闭。

PORT     STATE  SERVICE
22/tcp   open   ssh
443/tcp  closed https

编辑:这是我的该网站的 nginx conf 文件。 https://gist.github.com/cclloyd/e7f1183f3a018dbc32cd7c55e15375cf

答案1

检查应用程序是否正在运行

您需要检查您的实例上是否确实有一个应用程序正在运行并监听 443 端口。

sudo netstat -plnt

例如,如果有 nginx 服务正在运行,并且配置为监听 443 端口,您将看到类似这样的内容

Proto Local Address           Foreign Address         State       PID/Program name
tcp   0.0.0.0:443             0.0.0.0:*               LISTEN      2742/nginx -g daemo

检查防火墙规则关联

您还可以检查防火墙规则和实例是否具有适当的标签:

检查防火墙规则targetTags:

$ gcloud compute firewall-rules describe default-allow-https --format="value(targetTags)"

应输出“https-server”

检查实例标签:

$ gcloud compute instances describe %INSTANCE_NAME% --format="value(tags.items)"

也应该输出“https-server”。

相关内容