nginx 서버에서 포트 443에 연결할 수 없습니다.
https 연결을 활성화하려면 포트 443이 필요했고, certbot을 사용하여 SSL 인증서를 설치했으며, 기본 설치와 기본 지침을 사용했습니다.가이드
http와 https 포트를 모두 열도록 'nginx full' 명령을 설정했지만 다음 명령을 실행하여 포트 443이 실제로 열려 있는지 다시 확인했고 sudo lsof -i -P -n | grep LISTEN
응답에서 포트 443이 사용 중인 것으로 표시되었습니다. 작성자: nginx
내 포트를 테스트하기 위해 cURL과 같은 도구를 사용해 보았는데, 포트 80은 제대로 작동하지만 포트 443에서는 응답이 없습니다.
서버 관리 경험이 부족해서 다른 리소스를 확인해 보려고 했는데 어떻게 해야 할지 모르겠습니다.
내 사이트에서 사용 가능한 구성:
server {
root /var/www/muhammed-aldulaimi.com/html;
index index.html index.htm index.nginx-debian.html;
server_name muhammed-aldulaimi.com www.muhammed-aldulaimi.com;
location / {
try_files $uri $uri/ =404;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/muhammed-aldulaimi.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/muhammed-aldulaimi.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.muhammed-aldulaimi.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = muhammed-aldulaimi.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name muhammed-aldulaimi.com www.muhammed-aldulaimi.com;
return 404; # managed by Certbot
}
ufw 상태:
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
답변1
우분투의 방화벽 설정에 문제가 없는 것을 확인한 후 웹 호스트 자체에 문제가 있다고 가정했습니다. AWS Lightsail을 사용하고 있었는데 Lightsail이 포트 22와 80에서 들어오는 연결만 허용한다는 사실이 밝혀졌습니다. 네트워킹 탭에서 다른 포트를 허용하는 규칙을 추가합니다. 내 문제를 해결했습니다.