Nginx의 특정 경로에 대해 SSL 비활성화


11

로 시작하는 경로가있는 URL에 대한 요청을 제외하고 모든 요청을 HTTPS로 수행하려는 웹 사이트가 있습니다 /foo/. Nginx에서 이것을 어떻게 구성합니까?

지금은 SSL로 모든 요청을 실행합니다.

server {
    listen 443;

    ssl on;
    ssl_certificate /home/admin/ssl/ssl.crt;
    ssl_certificate_key /home/admin/ssl/ssl.key;

    server_name www.mydomain.com;

    location / {
        proxy_pass http://localhost:8000;
        ...
    }
}

당신이 하시겠습니까 강제로 SSL을 사용하지 않도록 해당 경로에 요청을하거나 수 있도록 SSL을 사용하지 요청을?
셰인 매든

해당 경로에 대한 요청이 HTTP 및 HTTPS를 사용하도록 허용하고 싶습니다.
hekevintran

답변:


15

비 SSL 포트 80에 대한 두 번째 서버 항목을 추가하고 /foo/*그 밖의 모든 것은 HTTPS URL로 리디렉션하고 리디렉션하십시오.

아마도 이런 식으로? :

server {
    listen      80;
    server_name www.example.com;

    location ~ ^/(foo|foo/.*)$ {
        proxy_pass http://localhost:8000;
        ... 
    }

    location / {
        rewrite  ^ https://$server_name$request_uri? permanent;
    }
}

완벽한 답변.
hekevintran
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.