Мне нужно построить обратный прокси для пары ноутбуков наших разработчиков. Я создал общее имя хоста и использую имена ноутбуков разработчиков как виртуальные папки. Конфигурация выглядит так:
<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 и снова разрешать FQDN ноутбука с наших DNS-серверов?
Просто чтобы убедиться: Windows сама знает новый IP-адрес; когда я пингую 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