我正在windows 7(通过XAMPP)上运行一个用于开发的apache服务器。
默认情况下,它被设置为侦听http://请求的端口:80。
我可以为端口:1234配置它,也可以通过:http://localhost:1234/访问web文档。
我的问题是-是否可以让apache在端口:1234上服务,而不必在请求的URI中包含:1234?
编辑/澄清:我真正想要做的是同时运行IIS (端口80)和apache (xampp),而不必向浏览器请求中的一个添加端口号。
发布于 2013-01-21 14:49:59
遗憾的是,这是不可能的,因为这是由浏览器控制。默认情况下,浏览器将连接到端口80,并且需要在URL中添加任何其他内容。
有3种解决方案,我可以考虑什么可以工作,但最终它将不能工作的公共用户,因为一些编码的客户端机器将需要改变。
您可以更改主机文件,并使用端口解析本地主机或域名。但这也不适合公众访客。
您可以创建一个插件来覆盖默认的检查端口80,并添加对端口1234的额外检查。我可以想象像这样的Firefox和chrome插件可能已经存在,或者很容易编写。
您可以在端口80和1234上运行服务器,然后可以从80直接到1234。同样,这是因为浏览器检查端口80。它不检查其他任何港口,特别是1234的高度。我相信htaccess文件会帮你做到这一点。
与其使用XAMP,不如使用虚拟盒或vwplayer在虚拟环境中使用真正的灯。这样做,您将收到另一个ip,因此您可以简单地在端口80上运行apache和iis。
Lamp比xamp好得多,但是如果您仍然想使用它,那么您可以在端口80上运行,在Windows中添加一个虚拟网卡(称为回环),您将需要告诉xamp和ips要绑定哪些ips。有关更多信息,请访问:http://support.microsoft.com/kb/839013
发布于 2013-01-21 16:28:28
在浏览器中键入URL时,除非显式指定端口,否则浏览器将采用端口80 (除非路径为HTTPS,在这种情况下假定端口为443 )。从技术上讲,任何URL都可以重写为包含:80端口指令。这只是多余的。
在服务器端,只能有一个服务侦听端口80。因此,不可以,如果不使用另一个端口超过80,则IIS和Apache都不能接受连接。
在这种情况下,通常是在端口80上设置一个set服务器或另一个set服务器(通常是Apache,因为在其中配置很简单),它负责充当另一个服务器的前端。也就是说,它将某些请求(基于主机名、路径或其他配置)传递给另一个服务器。
在Apache充当前端并将请求定向到多个Tomcat服务器的情况下,我做了大量的工作。
您为此使用的Apache配置称为"ProxyPass“,顾名思义,Apache只是充当中介,将流量传递到指定的VirtualHosts或位置的另一台服务器上。对于其他主机或路径,Apache仍然可以直接提供自己的内容。
更多信息在这里:https://httpd.apache.org/docs/2.2/mod/mod_proxy.html
https://webmasters.stackexchange.com/questions/42418
复制相似问题