NGINX HTTPS가 올바르게 리디렉션되지 않음

NGINX HTTPS가 올바르게 리디렉션되지 않음

나는 팔로우한다Cerbot에 대한 지침 내 Debian 서버의 도메인에 대한 NGINX에 대한 HTTPS 인증서를 가져왔지만 HTTPS가 올바르게 리디렉션되지 않습니다.

etc/nginx/conf.d/app.confCertbot의 자동 생성에서 다음을 얻습니다.

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이 인증서를 관리할 수 있습니다.

인증서 파일의 위치를 ​​알려주는 cert 봇을 실행한 다음 해당 비트를 HTTPS 서버 구성에 추가합니다. 업데이트되면 새 파일이 동일한 위치에 배치되므로 사이트가 설정된 후 구성을 다시 변경할 필요가 없습니다. certbot은 nginx를 업데이트하고 다시 시작합니다.

관련 정보