
나는 팔로우했다Cerbot의 지시 사항 도메인의 Debian 서버에서 NGINX용 HTTPS 인증서를 얻으려고 하는데 HTTPS가 제대로 리디렉션되지 않습니다.
etc/nginx/conf.d/app.conf
Certbot의 자동 생성에서 다음을 얻었습니다 .
server {
server_name mnpd.khkm.dev www.mnpd.khkm.dev;
# listen 8080;
server_tokens off;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
# return 301 https://mnpd.khkm.dev$request_uri;
proxy_pass http://mnpd.khkm.dev;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mnpd.khkm.dev/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mnpd.khkm.dev/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 = mnpd.khkm.dev) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name mnpd.khkm.dev www.mnpd.khkm.dev;
return 404; # managed by Certbot
}
Chrome에서https://mnpd.khkm.dev/, 나는 얻다:
mnpd.khkm.dev redirected you too many times.
Try deleting your cookies.
ERR_TOO_MANY_REDIRECTS
나는 이것을 찾았다스택 오버플로 답변
웹 콘솔의 "네트워크" 탭을 살펴본 결과 페이지가 지속적으로 로 리디렉션되는 것을 확인했습니다 https://mnpd.khkm.dev/
. NGINX 구성은 HTTPS용 포트 443을 수신해야 하는데 왜 로드되지 않고 지속적으로 리디렉션됩니까? (기본 NGINX 페이지가 로드될 것으로 예상합니다.)
답변1
포트 80이 443으로 리디렉션되고 있으며 이는 리디렉션 중인 80을 프록시하려고 합니다....
제거
location / {
# return 301 https://mnpd.khkm.dev$request_uri;
proxy_pass http://mnpd.khkm.dev;
}
나는 certbot이 내 구성 파일을 다시 작성하도록 허용하지 않습니다. 실제로는 가장 간단한 사용 사례에만 적합합니다. 나는 사용하는 것이 좋습니다독립형 모드의 certbot. 그러면 구성이 문제가 되고 certbot이 인증서를 관리할 수 있습니다.
인증서 봇을 실행하면 인증서 파일의 위치를 알려주고 해당 비트를 HTTPS 서버 구성에 추가합니다. 갱신하는 경우 새 파일을 동일한 위치에 저장하므로 사이트가 설정된 후 구성을 다시 변경할 필요가 없습니다. certbot을 업데이트하고 nginx를 다시 시작하세요.