http 요청에 대해 다음 ReverseProxy를 설정했습니다.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName sub.domain.com
ProxyRequests Off
ProxyVia Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:5010
ProxyPassReverse / http://localhost:5010/
</VirtualHost>
내 질문은 내 백엔드(위치: 5010)가 https를 지원하지 않는 경우 https 요청을 어떻게 처리할 수 있느냐는 것입니다.
예: 클라이언트---https--->Apache----http---->서비스
답변1
클라이언트와 이 httpd 인스턴스 사이의 연결에 사용되는 전송 방법은 httpd 인스턴스와 프록시 서버 사이에 사용되는 전송 방법과 완전히 독립적입니다. 즉, HTTPS 구성에 프록시 라인(적어도 ProxyPass
및 )을 추가하기만 하면 됩니다.ProxyPassReverse
NameVirtualHost *:443
<VirtualHost *:443>
ServerName sub.domain.com
# Certificate stuff goes here...
SSLEngine on
SSLCertificateFile /etc/pki/http/certs/sub.domain.com.crt
SSLCertificateKeyFile /etc/pki/http/private/sub.domain.com.key
SSLCertificateChainFile /etc/pki/http/certs/interims-cert.crt
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite +EDH:HIGH:!LOW:!ADH:-MEDIUM:RC4+SHA
ProxyRequests Off
ProxyVia Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:5010
ProxyPassReverse / http://localhost:5010/
</VirtualHost>
이 SSL*
지침은 예시 목적으로만 제공됩니다! HTTPS용 httpd를 안전하게 구성하는 방법을 확인해야 합니다.