IIS7 多个网站同一端口

IIS7 多个网站同一端口

我正在尝试为我们的生产网站设置一个仅供内部使用的 Web 服务器,用于 QA 和开发测试。无需或无意从公司网络外部访问此开发网站。

在生产模式下,网站跨多个子域进行配置,并且站点之间共享 cookie 以共享 ASP 会话 ID。这是我的问题的关键

例如,在生产中我们可能会有

login.example.com  (handles user authentication requests)
settings.example.com  (handles shared configurations)
product1.example.com  (handles product specific functionality)

我能够在内部实现的最接近的事情是这个,但是......

qaserver:1234 -> login
qaserver:1235 -> settings
qaserver:1236 -> product1

...如果 IIS 的“cookie 域”设置为主机名,则用户只能使用 Firefox 登录(IE 和 Chrome 无法正确存储 cookie)。在生产中,他们将 cookie 域设置为“.example.com”,因为所有内容都是子域,所以它运行正常。如果将其设置为“。”,则没有人可以登录。我认为 Chrome 和 IE 处理 cookie 的方式与 Firefox 的方式有所不同,Firefox 不关心端口号,但其他浏览器似乎很关心。

qaserver 计算机是本地域的一部分。我对它有完全的管理员访问权限,但对任何其他计算机(如域控制器、防火墙、代理等)没有访问权限。

我只需要局域网可以访问的服务器,唯一真正的要求是站点之间能运行 cookie。

有人可以建议设置 cookie 以使其跨端口号工作吗?或者...是否可以使用主机头名称来模拟生产中使用的子域名?我可以在这台机器上安装 DNS 服务器,但我不太了解 DNS 的工作原理。

更新:

解决方法是将 cookie 域设置为空字符串。我们的 Web 部署流程对允许将该值设置为空有限制,这就是我没有尝试的原因。

答案1

最好为该站点创建主机标头,并模仿生产环境的行为。

您需要您的 DNS 管理员来创建 DNS 条目,DNS 服务器没有用,因为我猜您不能只更改需要访问该 URL 的所有客户端计算机的 DNS 服务器。

作为 DNS 条目的替代,如果只有少数客户端计算机需要访问,则可以在所有客户端计算机上添加 hosts 文件条目...

相关内容