在過去的幾個小時裡,我一直在嘗試為現在需要公開存取的應用程式啟動並執行反向代理。
出於安全性和阻止連接埠 80 的提供者問題,應用程式只能透過 https 存取。我知道這可以透過 apache 或魷魚(等等)來完成。我兩種都嘗試過,但都失敗了。
目前網路設定如下:
gateway.mydomain.com 是網關。在網關上,apache 已經配置了預設的 ssl 虛擬主機,並且魷魚作為常規轉送代理程式運行。
本地網路上的應用程序,https://application.mydomain.com已按預期在本地進行設定和存取。
這是我在魷魚上嘗試的配置,在魷魚配置的頂部我添加了一個包含指示/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.
然後我嘗試使用 apache,因為我更願意讓網關監聽標準 https 連接埠 443。
這是我用 apache 嘗試過的:
ssl.conf,預設虛擬主機之後
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 上運行,但透過此設置,無論我嘗試什麼,預設虛擬主機始終是正在提供服務的虛擬主機。
如果有人有關於魷魚或阿帕奇的線索,我將不勝感激。