#iis #virtualhost
Вопрос:
Мне нужен прокси-сервер http, который перенаправляет запросы, поступающие от mydomain.com чтобы http://localhost:8080 Веб-сервер Apache делает это с помощью mod_procy и mod_proxy_http со следующей конфигурацией
<VirtualHost *:80>
ServerName mydomain.com
DocumentRoot D:/tmp/iis
DirectoryIndex index.html index.php index.jsp
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
ProxyRequests On
ProxyVia On
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
Мой сервер является машиной Windows, и я хотел бы использовать IIS (информационные службы Интернета) вместо этого я попробовал следующую конфигурацию IIS:
связующий
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReverseProxyInboundRuleForReports" stopProcessing="true">
<match url="(/.*)" />
<action type="Rewrite" url="http://localhost:8083/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
IIS переписывает URL-адрес, но не пересылает запрос на другой сервер, как это делает mod_proxy в Apache
Можно ли воспроизвести поведение Apache в IIS? В таком случае, какова правильная конфигурация сервера?
Комментарии:
1. В чем заключается ошибка? «Без успеха» — бесполезное утверждение. Кстати, убедитесь, что ошибки 3 удалось избежать, blog.lextudio.com/…
2. Я попытался уточнить свое заявление. У меня нет никаких ошибок, но я не могу получить из IIS то, что мне нужно
3. Если вы проверите примеры, вы увидите, что никто не использует
/
шаблон. Другие проблемы могут возникнуть, как только вы это исправите, но FRT может помочь docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…4. с <URL-адресом соответствия=»(.*)» /> это работает нормально
5. Почему бы вам не переписать свой комментарий в качестве ответа?
Ответ №1:
Если у вас есть полезное правило прокси-сервера Apache, вы можете импортировать его в IIS. IIS автоматически создаст правило перезаписи URL-адреса. Обратитесь к этой статье.