Назад | Перейти на главную страницу

Открыть 443 в экземпляре Google Compute Instance?

По какой-то причине я не могу открыть порт 443 на моем вычислительном экземпляре Google. У меня на экземпляре включен 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 для этого сайта. https://gist.github.com/cclloyd/e7f1183f3a018dbc32cd7c55e15375cf

Проверьте, запущено ли приложение

Вам нужно проверить, действительно ли на вашем экземпляре запущено приложение, которое прослушивает порт 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

Проверить ассоциацию правил брандмауэра

Вы также можете проверить, что ваше правило брандмауэра и ваш экземпляр имеют соответствующие теги:

Проверить теги правила брандмауэра:

$ 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».