如何使用ip地址访问java Web应用程序而无需输入端口

时间:2017-11-30 10:06:24

标签: java java-ee-7 java-websocket glassfish-4.1

我使用带端口8080的glassfish 4.1服务器。

我的应用可以通过点击localhost:8080或使用my_ip_address:8080进行访问。

现在,我想只使用ip地址访问我的应用程序而不输入端口,比如我的ip是10.1.2.133,所以当我点击10.1.2.133时它会转到我的应用程序。 怎么做?

我尝试将端口更改为80并且运行良好。但我仍然想使用端口8080而不是80。

4 个答案:

答案 0 :(得分:3)

  

我尝试将端口更改为80并且运行良好。但我仍然想使用端口8080而不是80。

端口80是Web浏览器理解HTTP协议的唯一默认端口。

如果要为服务器使用其他端口(8080),则必须:

  • 在网址
  • 中使用端口8080
  • 在端口80上设置另一台服务器,将请求重定向到端口8080,或者将请求反向代理到端口8080.

重定向的工作原理是让端口80上的服务器发送HTTP 3xx响应,告诉用户浏览器将请求重新发送到端口8080服务器的URL。

反向代理由服务器在端口80上工作,将请求发送到端口8080服务器本身,然后中继响应。

答案 1 :(得分:1)

答案 2 :(得分:0)

默认的Http端口是80,因此,如果您的应用程序在80运行,则可以省略它,在其他情况下,您必须指定端口。否则,您必须让代理服务器在80监听,并根据上下文(读取路径)或其他信息将其重定向到所需的服务器。

答案 3 :(得分:0)

您可以在8080上运行指向服务器的另一台服务器。您的其他服务器将在端口80上运行,因为这是默认端口。

Apache上的配置会是这样的:

<VirtualHost *:80>
    ServerName sample.com

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://YOUR_IP_HERE:8080/
    ProxyPassReverse / http://YOUR_IP_HERE:8080/
    RewriteEngine On

    <!--other config here-->
</VirtualHost>