windows - 同一站点托管在 IIS 的多个端口上
问题描述
我有一个网站在特定 DNS ( https://mypage.com:443/login )的 443 端口上运行。现在,我想将它重定向到一个新站点(mynewsite.com:443)。我已经在 IIS 中的站点中使用了重定向选项,其中我将重定向 URL 指定为https://mynewsite.com:443。所有到达https://mypage.com:443/login的请求都成功重定向到https://mynewsite.com:443
现在,我有另一个 DNS (https://mysecondDNS:443)。我希望访问此 https://mysecondDNS:443 的用户应仅重定向到https://mypage.com:443/login。
但是直接访问https://mypage.com:443/login的用户应该进入https://mynewsite.com:443
这可以在IIS中实现吗?
到目前为止,我尝试过的是,我有另一个端口为 8080/8081 的站点并尝试进行重定向,但这似乎不起作用。
有人可以帮助我或指导我如何实现这一目标。
谢谢
解决方案
我想出了另一种解决你的问题的方法,经过测试是可行的。您可以在重写过程中添加自定义标题。
在我的测试中,我创建了三个站点对应你的三个域名,mynewsite.com myscondDNS.com and mypage.com
. 他们都有自己的页面。
当用户访问时mysecondDNS.com
,他们将被重定向到mypage.com
. 根据您的描述,mypage.com
应该显示的页面。只有当用户直接访问时,mypage.com
才会将请求重定向到mynewsite.com
.
为了方便 URL 重写模块识别请求,在mysecondDNS.com
重定向到时mypage.com
,我添加了一个自定义头HTTP_REQ_from(头必须以HTTP_开头)并为其分配值mysecondDNS。当mypage.com
被重定向到mynewsite.com
时,会判断header。如果标头值匹配,则不会重定向请求,如果不匹配,则将重定向到 mynewsite.com。
这是添加自定义标题的规则
<rule name="rule">
<match url=".*" />
<action type="Rewrite" url="http://mypage.com" />
<serverVariables>
<set name="HTTP_REQ_from" value="mysecondDNS" />
</serverVariables>
</rule>
这是判断自定义标题的规则
<rule name="rule">
<match url=".*" />
<conditions>
<add input="{HTTP_REQ_from}" pattern="mysecondDNS" negate="true" />
</conditions>
<action type="Rewrite" url="http://mynewsite.com" />
</rule>
推荐阅读
- javascript - 在 Javascript 中创建这个 JSON 结构
- android - 如何以编程方式获取带有阻塞和等待信息的堆栈跟踪?
- java - 如何在 ServNet 环境中创建文件?
- python - Python 不断增长的字典或不断增长的数据框 - 在循环中追加
- html - 带有图标的组合框
- c++ - 用于 Webots 的 Visual Studio 控制器 C++ 崩溃
- android - 为什么我的组合框/选择器在其区域外单击时会出现下拉菜单?
- html - W3schools 登录表单未正确显示
- r - 更改图例中值之间的比例
- bash - bash 脚本在读取文件的第一行后退出