По какой-то причине я не могу открыть порт 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».