Domain-Name-System
Apache HTTPD 反向代理到 DHCP 客戶端
我需要為我們的幾台開發人員筆記型電腦建構反向代理。我創建了一個通用主機名,並將開發人員的筆記型電腦名稱用作虛擬文件夾。配置如下所示:
<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 地址。謝謝!
您必須計劃使用 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