我将有两台服务器(SSO和应用程序服务器)在同一台机器上运行,但在不同的端口上侦听。 是否有可能分配给他们下面的地址: example.com和app.example.com,以便第二个将是第一个子域?
我将如何实现这一目标? 我会使用hosts文件还是Active Directory ?
编辑 :
我不打算使用IIS。 我想testingOpenAM产品,它将被部署为Tomcat应用程序(很可能在8080端口上侦听),我想在Glassfish应用程序服务器上安装OpenAM策略代理,该服务器将托pipe一些可能在9090端口上侦听的Web应用程序。
现在我想实现的是将所有example.com请求redirect到10.11.11.22:8080和app.example.com到10.11.11.22:9090。
您可以使用主机标头/ 虚拟主机在同一个Web服务器上运行多个网站。 这是Web服务器查看浏览器提供的主机名(用于访问Web服务器)并提供相应网站内容的一种机制。
你甚至不需要为http网站定义不同的端口,如果你定义它们每个具有唯一的主机头。 如果你想有不同的端口,那么在大多数Web服务器中这也是非常容易的(你不会说你使用的是什么Web服务器)。
至于如何设置站点名称,这也是相当容易的,虽然它与活动目录没有任何关系,并且除了在本地web服务器上进行开发testing以外,我不会亲自使用hosts文件。 您只需在DNS中为两个网站地址创build条目,指向Web服务器。
因此,您需要为Web服务器本身(例如mywebserver.example.com )的主机名和IP地址创build一个“A”logging,然后使用指向example.com和app.example的两个“CNAME”logging(别名) 。在那个Alogging。 这告诉任何查看DNS中这两个网站地址的客户端使用为web服务器本身定义的IP地址。
更新地址编辑
在主机名或IP地址中无法包含端口号。 您的用户将不得不inputexample.com:8080和app.example.com:9090。 你要求的东西超出了DNS或hosts文件的范围,因为它与名称parsing无关。
解决这个问题的两种方法是我能想到的
创build两个独立的虚拟服务器,每个虚拟服务器安装在侦听端口80的Web服务器上。
如上所述,在端口80上安装IIS(或其他),并为每个主机头提供一个站点。 然后使用从每个站点到任何端口监听的“正确”的redirect。
您可以使用您的hosts文件或您的DNS服务器(通常是hosts除非您需要在机器外部提供服务器。
正如你提到的Active Directory,我将假设你正在使用Window / IIS,在这种情况下,你需要采取的行动是:
如果确实是在IIS中托pipe这些内容的情况下,您可以让它们都在端口80上进行监听,如果您selectIIS,则会根据主机标头进入的情况将stream量引导到相应的站点。 example.com或app.example.com