nginx: SSL 암호화에서 하위 폴더 제외

nginx: SSL 암호화에서 하위 폴더 제외

내 서버를 다음과 같이 nginx 서버로 설정했습니다.

server {
   listen 443;
   ssl on;
   ssl_certificate /etc/ssl/certs/example.com.crt;
   ssl_certificate_key     /etc/ssl/private/example.com.key;
   server_name example.com;
   ... other things down here..
}

SSL에서 디렉터리를 제외하려면 어떻게 해야 합니까? 예를 들어 /static/tour 아래에는 웹 애플리케이션을 설명하는 둘러보기가 있으며 이를 암호화할 필요가 없습니다.

운영체제: 우분투 10.04

답변1

내 생각에는 동일한 문서 루트로 전달되는 포트 80에서 수신 대기하도록 다른 서버 구성을 설정하고 싶을 것입니다. 그리고 앱이 액세스되는 URL에 따라 SSL 또는 비SSL을 강제하도록 하여 사용자가 '' HTTPS에서 'S'를 삭제하지 말고) 다음과 같이 사용하십시오.http://ariejan.net/2011/10/22/automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails

답변2

이것은 불가능합니다. SSL 요청은 암호화됩니다. 즉, 서버는 요청을 해독할 때까지 URI가 어떻게 보이는지조차 알 수 없습니다. SSL이 아닌 프로토콜을 사용하여 특정 하위 디렉터리에 대한 요청을 보내야 한다고 클라이언트에 알릴 수 있는 방법이 없습니다.

Demelziraptor가 말했듯이 두 개의 가상 호스트를 설정할 수 있습니다. 하나는 포트 443에 SSL이 있고 다른 하나는 포트 80에 SSL이 없습니다.

/static/tourSSL 가상 호스트에 대한 모든 요청이 비 SSL 가상 호스트의 동일한 페이지로 리디렉션되고 그 반대의 경우 비 SSL 가상 호스트에서 SSL 가상 호스트로 다시 리디렉션되도록 재작성 규칙을 쉽게 설정할 수 있습니다 .

관련 정보