Apache正在侦听不同的端口,但是如何获取它所以我不必输入端口号?

时间:2009-01-26 15:23:54

标签: apache port-number

我在我的localhost机器上并行运行IIS和Apache HTTP Server,而Apache正在侦听另一个端口(端口81)。 IIS正在侦听端口80.但是,如果输入该端口号,我只能访问Apache的虚拟域。例如:

http://virtual.myvirtualdomain.com:81 http://virtual.myvirtualdomain2.com:81

我怎样才能让Apache自动知道它是81端口,并且不强迫我输入端口号?

修改

答案似乎是我需要将IIS重定向到Apache。任何人都可以澄清如何使用IIS 5.1完成这项工作吗?

8 个答案:

答案 0 :(得分:7)

这不是告诉Apache的问题,而是浏览器知道要连接的内容。您要么必须将IIS重定向到Apache,要么放弃。

答案 1 :(得分:3)

您必须输入端口号,以便客户端知道要连接的位置。这与服务器无关。

在Unix系统上,您可以修改/etc/services以列出81作为http的端口。但这将有效地禁止访问位于端口80上的所有网站。

或者,您可以在端口80上配置IIS,以在本地代理对apache上的站点的请求。然后,所有客户端都会向IIS请求一个页面,该页面将与端口81建立本地连接。

答案 2 :(得分:2)

我做了一些研究,结果发现你无法将IIS 5.1重定向到Apache,因为这需要多个网站(设置为重定向到端口81上Apache上的虚拟主机)。这是因为Windows XP Pro上的IIS 5.1无法执行多个Web站点(在没有脚本黑客的情况下同时运行)。哦,好吧。

答案 3 :(得分:2)

你怎么换掉它?让Apache监听端口80,端口81上的IIS,无论您需要什么,并进行Apache重定向?不应将Apache限制为IIS 5.1所在的每台计算机上的同一个网站。

答案 4 :(得分:1)

你做不到。 81告诉你的浏览器在哪里寻找Apache。

答案 5 :(得分:1)

你不能。

您的web 客户端的工作是指定端口,直到您指定该端口,它甚至不会到达Apache。

您可能会做的是让IIS也侦听相同的HTTP / 1.1虚拟主机,然后安排它发出302 Moved重定向,将您的浏览器发送到正确的端口号。

或者,在您的计算机上运行第二个IP地址,并将IIS绑定到原始IP地址,将Apache绑定到第二个IP地址。这样你根本不需要使用不同的端口。

答案 6 :(得分:1)

没有办法完全按照你的要求去做。关于唯一的方法是将IIS(由IIS提供服务的虚拟域)配置为在端口81上转发到Apache。使用此配置,客户端不会意识到他们的请求在前往IIS的过程中通过IIS Apache的。效率稍低,但它可以解决您的需求。

答案 7 :(得分:1)

当输入网址时,浏览器必须使用某个端口连接到网站。 80是服务器检查的默认端口。如果您需要通过浏览器连接到任何其他端口,则需要在URL中包含端口号。它不是强制你输入81的apache,而是你的浏览器,因为当没有指定端口号时,它被设置为使用80作为端口。

如果要将apache的端口更改为80,将IIS端口更改为81,则可以在没有端口号的情况下连接到apache,但在使用IIS Web服务器时需要使用端口号。

不确定使用apache重定向到IIS背后的其他想法。对我来说,如果你在apache的httpd.conf中为IIS目录创建一个条目,那么你使用apache连接到目录,而不是IIS。 你可以设置一个域,让它通过端口81连接到apache。这是一种隐藏端口号的方法(可能不是真的。我从来没有尝试过80以外的端口上的apache。)