私は過去数時間、パブリックにアクセスする必要があるアプリケーションのためにリバース プロキシを起動して実行しようとしてきました。
セキュリティとポート 80 をブロックするプロバイダーの問題のため、アプリケーションには https でのみアクセスできます。これは apache または squid (その他) のいずれかで実行できることはわかっています。両方試しましたが、失敗しました。
現在のネットワークは次のように設定されています:
ゲートウェイは、gateway.mydomain.com です。ゲートウェイでは、Apache がすでにデフォルトの SSL vhost で構成されており、Squid は通常のフォワード プロキシとして実行されます。
ローカルネットワーク上のアプリケーション、https://application.mydomain.comローカルで期待どおりに設定され、アクセス可能になります。
これは私が squid で試した設定です。squid conf の先頭に include ディレクティブを追加しました/etc/squid/application.conf
:
アプリケーション.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 でリッスンしたままにしたいので、Apache を試しました。Apache が 443 でリッスンしているときは squid 構成は機能せず、デフォルトの Apache vhost が提供されました。
これは私がApacheで試したことです:
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 で実行されますが、この設定では、何を試しても、デフォルトの vhost が常に提供されます。
squid または apache について手がかりをお持ちの方がいらっしゃいましたら、大変助かります。