我需要為我們的幾台開發人員筆記型電腦建立反向代理。我建立了一個通用主機名,並使用開發人員的筆記型電腦名稱作為虛擬資料夾。配置看起來像這樣:
<VirtualHost 192.168.0.11:443>
ServerName developer.contoso.com
ProxyRequests Off
ProxyPreserveHost On
SSLEngine On
SSLProxyEngine On
SSLCertificateFile "c:/Apache24/conf/ssl/contoso.crt"
SSLCertificateKeyFile "c:/Apache24/conf/ssl/contoso.key"
SSLCertificateChainFile "c:/Apache24/conf/ssl/verisign.crt"
CustomLog "|c:/Apache24/bin/rotatelogs.exe ./logs/c4o.log 10M" combined
<Location /PC1234/service>
ProxyPass http://pc1234.contoso.com:8070/service/
ProxyPassReverse http://pc1234.contose.com:8070/service/
</Location>
<Location /PC5678/service>
ProxyPass http://pc5678.contoso.com:8070/service/
ProxyPassReverse http://pc5678.contose.com:8070/service/
</Location>
</VirtualHost>
重新啟動 HTTPD 後,一切都按預期工作,並且https://developer.contoso.com/PC1234/service是公開可用的,直到開發人員的筆記型電腦因網路變更而獲得另一個 IP 位址。如何告訴 HTTPD(在 Windows 上)定期刷新其 DNS 快取並再次從我們的 DNS 伺服器解析筆記型電腦的 FQDN?
需要確定的是:Windows 本身知道新的 IP 位址;當我 ping PC1234.contoso.com 時,我總是得到正確的 IP 位址。謝謝!
答案1
您必須計劃使用 mod_proxy 停用連線重複使用,或縮短用於代理程式的工作執行緒的生命週期,以便它們經常被回收。
所以你可以嘗試:
ProxyPass /PC1234/service/ http://pc1234.contoso.com:8070/service/ enablereuse=off
或者,嘗試使用較短的 ttl,這樣您就可以利用 mod_proxy 的池功能,但請確保這些工作線程在不使用時被回收:
ProxyPass /PC1234/service/ http://pc1234.contoso.com:8070/service/ ttl=120