我需要为我们的几台开发人员笔记本电脑构建反向代理。我创建了一个通用主机名,并使用开发人员笔记本电脑名称作为虚拟文件夹。配置如下所示:
<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