Domain-Name-System

Apache HTTPD 反向代理到 DHCP 客戶端

  • August 25, 2020

我需要為我們的幾台開發人員筆記型電腦建構反向代理。我創建了一個通用主機名,並將開發人員的筆記型電腦名稱用作虛擬文件夾。配置如下所示:

<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

引用自:https://serverfault.com/questions/1031408