如何在Apache Tomcat 8.0.9中重定向具有端口号的URL,以便用户无法看到端口号

时间:2014-09-22 23:20:01

标签: apache tomcat redirect redhat

我正在使用Redhat,我正在尝试重定向apache tomcat中的url。例如,我的网址是http:// example:8282。我想重定向页面,这样当我键入http:// example / alfresco时,它会在浏览器中显示http:// example / alfresco,因此用户无法看到端口号。我已经成功地重定向但没有重定向并保留我想要重定向到实际网址的网址,我不想看到。

我在/etc/httpd/conf/httpd.conf中试过的东西

#
Redirect permanent /alfresco http://<ip address>:8282/
#

我也试过

#
RedirectMatch ^/tomcat/(*)$ http://<ip address>:8282/$1
#

我也试过

#
RewriteEngine On
RewriteCond %<ip address>:8282   !^1.1.33.201\/tomcat
RewriteCond %<ip address>:8282   !^$
RewriteCond %8080                !80$
RewriteRule ^tomcat/?$           http://<ip-address> [PT]
#

谢谢你, 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

因为我认为存在根本性的错误,所以在为您提供解决方案之前,我将首先尝试重新定义最重要的方面:

<强>重定向: 您无法仅使用重定向隐藏端口或任何URL,因为重定向正在执行此操作 - 重定向。因此,即使您在用户输入http://example/alfresco时正确配置它们,他也会被重定向到http://example:8282/alfresco

<强>端口: 当您将浏览器指向http://example/时,它实际上会在端口example 80上加载主机http://example:80/。隐藏端口的唯一原因是因为80是HTTP协议的默认端口,因此所有浏览器都设置为默认隐藏它。例如,当您访问http://example:8282/时,所有其他端口都不是这样。

<强>解决方案: 要隐藏非标准端口或您不希望看到的任何其他地址,您需要代理它。对于你的情况,我建议ProxyPass。这里可以看到一个工作示例: https://stackoverflow.com/a/7818502/2948573