우리 네트워크 운영 담당자가 SSL 종료를 설정한 다음 요청을 역방향 프록시로 설정했습니다. 그들의 요구 사항은 포트 443에서 입력을 본 경우 포트 443에서 콘텐츠를 제공해야 하므로 포트 443에서 암호화되지 않은 콘텐츠를 제공한다는 것입니다. 이는 우리가 해결해야 할 불변입니다.
대부분의 경우 이는 문제가 되지 않습니다. 우리 Listen 443
는 SSL을 설정하지 않았으며 리디렉션을 제외하고는 작동합니다.
예를 들어, 다음과 같이 정의하면:
Alias /foo /path/to/foo
<Directory /path/to/foo>
...
</Directory>
Apache는 요청을 로 리디렉션할 만큼 똑똑 /foo
합니다 /foo/
. 포트 80에서 http를 사용하면 훌륭하게 작동합니다. 그러나 클라이언트가 포트 443에서 https를 사용하는 경우 Location
다음과 같은 리디렉션이 발생합니다 .
Location: http://my.example.com:443/foo/
문제는 우리가 보안 프로토콜에서 안전하지 않은 프로토콜로 리디렉션하고 싶지 않다는 것입니다. 포트 443에서 안전하지 않은 콘텐츠를 제공하지 않기 때문에 중요한 것은 아닙니다.
이 요청이 원래 보안 요청이었다는 것을 Apache에 알리는 더 좋은 방법이 있을 것 같지만 Apache 구성에 대해서는 잘 모릅니다. 각 항목에 대한 리디렉션을 수동으로 생성할 필요가 없기를 바랍니다 Directory
. 특히 일부 콘텐츠는 보안 형식과 안전하지 않은 형식 모두에서 사용할 수 있기 때문입니다.
도움이 될 수 있는 문서에 대한 조언이 있는 사람이 있나요(불행히도 도움을 줄 수 있는 올바른 Google 주문을 생각해낼 수 없습니다). 이를 처리하는 가장 좋은 방법에 대한 조언도 높이 평가되었습니다. :)
답변1
이 시나리오는 설명서에 설명되어 있습니다.서버 이름:
때때로 서버는 역방향 프록시, 로드 밸런서 또는 SSL 오프로드 어플라이언스와 같은 SSL을 처리하는 장치 뒤에서 실행됩니다. 이 경우 서버가 올바른 자체 참조 URL을 생성하는지 확인하기 위해 ServerName 지시문에 https:// 체계와 클라이언트가 연결하는 포트 번호를 지정합니다.
이 작업을 수행하고 포트 80을 동시에 작동시키려면 그 중 적어도 하나에 VirtualHost를 사용해야 하므로 별도의 ServerName을 추가할 수 있습니다.