我已经在端口80上安装了Apache,并且在端口8080上安装了Tomcat。所以,我从localhost/和localhost/访问我的php项目localhost:8080/我可以安装或映射Tomcat到更好的地址,比如localhost/java/像javahost而不是localhost这样的javahost我已经添加了一行到HOSTS文件
127.0.0.1:8080 javahost
但是这不起作用。 而我无法ping到javahost。 我想它不应该这样工作。
有出路吗?
WAMPSERVER 2与APACHE 2.2.11
TOMCAT 6.0.29
WINDOWS XP PRO SP3
更新:
感谢@bindbn
我改变了主机文件
127.0.0.1 javahost
我在Apache中启用代理模块然后将其添加到httpd.conf的末尾
<VirtualHost javahost> ProxyPreserveHost On ProxyPass / http://localhost:8080 ProxyPassReverse / http://localhost:8080 </VirtualHost>
从一起使用Virtualhost&mod_proxy
之后的javahost也加载了PHP网站托pipe在端口80而不是localhost:8080网站。
更新在interwebs上find这个http:// confluence.atlassian.com/display/CONF30/Using+Apache+with+mod_proxy
# Put this in the main section of your configuration (or desired virtual host, if using Apache virtual hosts) ProxyRequests Off ProxyPreserveHost On #<Proxy *>// changed to below. <Proxy javahost:80> Order deny,allow Allow from all </Proxy> ProxyPass /confluence http://localhost:8080/confluence ProxyPassReverse /confluence http://localhost:8080/confluence <Location /confluence> Order allow,deny Allow from all </Location>
将confluence改为java(并将localhost:8080 / confluence更改为localhost:8080)给了我@lladnar的答案,它可以很好地将localhost / java和javahost / javaredirect到localhost:8080,但是这不能用于redirect只有javahost到本地主机:8080,并保持localhost读取端口80? 我也改变了路线,
<Proxy javahost:80> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/
现在javahostredirect到localhost:8080,但localhost也redirect到localhost:8080,所以我不能访问我的PHP网站的localhost:80端口。
我哪里错了? 有任何想法吗?
我的目标是将javahost(或不同的IP)redirect到localhost:8080,保持本地主机:80从本地主机和127.0.0.1访问和我的个人电脑的内部网IP
用答复更新这工作。 我将其添加到httpd.conf的末尾。 代理模块和代理http模块都打开。 我的工作站有一个局域网IP(192.168.1.4)。 我添加了另一个IP(192.168.1.5),并使用该IP而不是javahost name.Now 192.68.1.5打开我的Tomcat网站和192.168.1.4打开我的PHP网站。
<VirtualHost 192.168.1.5> ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost>
多亏了@Caleb多个IP的想法。 感谢代码中的@lladnar和@bindbn! (我希望我可以分解答案,因为我没有代表(代表6),我不能给任何代表)
当前设置的问题目前,Intranet上的人员使用http:// workstationname /来访问Intranet PHP网站。 他们现在必须使用ips的JAVA和PHP网站。 有没有办法将一个特定的主机名绑定到一个特定的IP地址
您的主机文件是用于地址查找,而不是强制路由到特定的端口。
你没有在这里指定你的平台,所以这些是一般可能的解决scheme:
编辑(删除:8080)
127.0.0.1 javahost
在Apache虚拟主机javahost中添加
ProxyPass / http://localhost:8080 ProxyPassReverse / http://localhost:8080
在你目前的问题中:
将<VirtualHost javahost>更改为<VirtualHost *:80>以便它只侦听所有接口上的端口80。 如果只希望从本地机器访问站点,可以用localhostreplace星号。
然后,将proxypass和proxypassreverse更改为:
ProxyPass /java http://localhost:8080 ProxyPassReverse /java http://localhost:8080
那么当您在浏览器中访问它时, http:// localhost / java应该自动被代理到Tomcat。