如何从只是URL重定向到wildfly上的某个端口

时间:2015-07-31 12:45:08

标签: java redirect port wildfly httplistener

我在my.application.com下运行了一个应用程序,可以在my.application.com:8080下访问。现在我希望wildfly在访问my.application.com时将用户重定向到my.application.com:8080,但不知道如何。

我知道这可能是一个完全没有问题的问题,但我已经阅读了一些关于https-listener和socket-binding的例子。但我似乎无法弄明白。任何人都可以给我一些帮助吗?也许一些见解究竟是如何起作用的?

非常感谢!

3 个答案:

答案 0 :(得分:1)

If you want my.application.com you have to set Wildfly to respond on port 80.

A common alternative is to have Apache respond on port 80 and forward the request to Wildfly. Your apache configuration would have a setting like this:

ProxyPass / http://127.0.0.1:8080/

答案 1 :(得分:0)

Wildfly由JBoss提供服务。这意味着您可以在端口80(http)或443(https)上运行JBoss时遵循this excellent write up上的说明。如果您不打算设置代理,请使用TCP端口转发。为此,请查找$JBOSS_HOME/server/$CONFIG/deploy/jboss-web.deployer/server.xml并编辑Connector条目,如下所示。

<Connector port="8081" ...
              proxyName="www.mycompany.com"
              proxyPort="80"/>

这将允许JBoss在更高端口上运行,但会将流量从端口80转发到运行JBoss的任何端口。如果这个应用程序将与另一个JBoss或Tomcat实例并列,我强烈建议学习如何配置代理服务器,如Apache或NGINX来引导端口流量。

以前的答案

如果您希望转发所有端口,可以为my.application.com:8080添加CNAME entry

配置看起来像

(Sub)domain                |Type  |Target

my.application.com         |A     |(your ip or hostname)11.22.33.444

my.application.com:8080    |CNAME |my.application.com

相关链接

接口和端口上的

Wildfly Docs

答案 2 :(得分:0)

有几种方法可以做到这一点。

如果您在服务器上具有root访问权限,则可以添加从端口80重定向到端口8080的防火墙规则。如下所示:

iptables -t nat -I PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 8080

或者,您可以在端口80上设置一个小型服务器,它只向任何连接的客户端发送“302重定向”。你可以使用像netcat这样简单的东西:

echo "HTTP/1.1 302 Found
Cache-Control: private
Location: http://localhost:8080
Date: Fri, 21 Aug 2015 17:44:30 GMT
Server: GFE/2.0
Content-Type: text/html; charset=UTF-8
Connection: keep-alive

" | nc -l 80

任何在端口80上请求HTTP页面的客户端都将被重定向到端口8080。

可能还有其他方法,具体取决于您使用的服务器软件以及您拥有的访问级别。