我正在尝试为QA和开发testingbuild立一个我们生产网站的内部Web服务器。 没有必要或有意从企业networking之外访问这个开发站点。
在生产模式下,网站跨多个子域进行configuration,并且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 domain”设置被设置为主机名,则用户只能使用Firefoxlogin(IE和Chrome不能正确存储cookie)。 在制作中,他们将Cookie域设置为“.example.com”,因为所有的东西都是非常不合适的,它只是完美的。 如果设置为“。”,那么任何人都无法login。我认为,Chrome和IE处理Cookie的方式以及Firefox的做法有所不同,Firefox不关心端口号,但其他浏览器似乎关心。
qaserver机器是本地域的一部分。 我有完整的pipe理员访问权限,但没有任何其他机器(如域控制器,防火墙,代理等)。
我只需要局域网可以访问的服务器,唯一真正的要求是在站点之间使用cookie。
有人可以build议一个cookie的设置,使他们跨端口号工作,或…是否有可能使用主机头名称来模仿在生产中使用的子驻留? 我可以在这台机器上安装DNS服务器,但是我不太了解DNS的工作方式。
更新:
解决的办法是将cookie域设置为空string。 我们的Web部署过程在允许将该值设置为空白的限制上,这就是为什么我没有尝试它。
您最好为此网站创build主机标头,并模仿生产环境的行为。
您需要您的DNSpipe理员来创buildDNS条目,DNS服务器是没有用的,因为我猜你不能只更改需要访问该URL的所有客户机的DNS服务器。
作为DNS条目的替代scheme,如果只有less数需要访问的机器,则可以在所有客户机上添加主机文件条目…