역방향 SSL을 SSL 프록시로 구성(바람직하게는 Squid 또는 Apache 사용)

역방향 SSL을 SSL 프록시로 구성(바람직하게는 Squid 또는 Apache 사용)

저는 이제 공개적으로 액세스해야 하는 애플리케이션을 위해 지난 몇 시간 동안 역방향 프록시를 작동시켜 실행하려고 노력해 왔습니다.

보안 및 포트-80을 차단하는 공급자 문제의 경우 https를 통해서만 애플리케이션에 접근할 수 있습니다. 나는 이것이 아파치나 오징어(다른 것들 중에서)로 수행될 수 있다는 것을 알고 있습니다. 나는 둘 다 시도했지만 실패했습니다.

현재 네트워크는 다음과 같이 설정되어 있습니다:

Gateway.mydomain.com이 게이트웨이입니다. 게이트웨이에서 Apache는 이미 기본 SSL 가상 호스트로 구성되어 있으며 squid는 일반 정방향 프록시로 실행됩니다.

로컬 네트워크의 애플리케이션,https://application.mydomain.com로컬에서 예상대로 설정되고 액세스 가능합니다.

이것은 제가 squid에서 시도한 구성입니다. squid conf 상단에 다음 항목에 include 지시어를 추가했습니다 /etc/squid/application.conf.

application.conf:

https_port 443 cert=/etc/pki/tls/certs/localhost.crt key=/etc/pki/tls/private/localhost.key defaultsite=application.mydomain.com vhost

# HTTPS peer
cache_peer https://application.mydomain.com parent 443 0 no-query originserver ssl    sslflags=DONT_VERIFY_PEER name=application
cache_mgr root
visible_hostname application.mydomain.com
http_port 443 accel defaultsite=application.mydomain.com
acl all src 0.0.0.0/0.0.0.0

이 접근 방식은 실패하고 다음과 같은 오류가 발생합니다.

SSL connection error Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have. Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.

그런 다음 표준 https 포트 443에서 게이트웨이 수신을 유지하는 것을 선호하기 때문에 아파치로 시도했습니다. 아파치가 443에서 수신 대기 중일 때 오징어 구성이 작동하지 않고 기본 아파치 가상 호스트가 제공되었습니다.

이것이 내가 아파치로 시도한 것입니다.

ssl.conf, 기본 vhost 이후

NameVirtualHost application.mydomain.com:443
<VirtualHost application.mydomain.com:443>
         ServerName application.mydomain.com
         LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
         CustomLog /var/log/httpd/application_log combined
         LogLevel Debug

        SSLProxyEngine On
        SSLCertificateFile /etc/pki/tls/certs/localhost.crt
        SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

        SSLProtocol all -SSLv2
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

      # RewriteEngine on
      # RewriteRule ^/$ /index.html [R]

       ProxyRequests off

       ProxyPass / https://application.mydomain.com
       ProxyPassReverse / https://application.mydomain.com
</VirtualHost>

이것이 제가 선호하는 방법입니다. 모든 앱은 포트 443에서 실행되지만 이 설정을 사용하면 무엇을 시도하든 기본 가상 호스트가 항상 제공되는 가상 호스트입니다.

오징어나 아파치에 대한 단서가 있는 사람이 있다면 가장 감사하겠습니다.

관련 정보