.net - 在 IIS 中使用 DNS 名称重定向到内部端口
问题描述
我在 IIS 上有一个使用 90 端口的站点,我想将它映射到 DNS 条目名称 TestSite。对于此映射,IIS 网站必须绑定到端口 90 和主机名作为 TestSite。
有没有办法从 url 中隐藏端口 90 并将其显示为 http://TestSite 而不是 http://TestSite:90 在浏览器中?
解决方案
端口 90 不是 IIS 上站点的默认端口。所以 90 必须在 URL 中的主机名之后添加。
另一种方法是使用 url 重写。
http://TestSite
=>http://TestSite:90
创建一个空网站并将其绑定到http://TestSite:80
. 在 web.config 中添加此反向代理规则。不要忘记在 ARR 模块中启用代理。
<rule name="ReverseProxyInboundRule2" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://TestSite:90/{R:1}" />
</rule>
所以这个方法实际上是使用反向代理将请求代理到站点的真实 URL。即使您将站点更改为任何其他主机名,例如 localhost,在浏览器端输入的 URL 仍然是http://TestSite
.