HTTP and HTTPS port



我创建了一个运行在GlassFish上的J2EE应用程序,启用了HTTPS。当用户输入http://www.mydomain.com:8080/app时,它会被重定向到https://www.mydomain.com:8181/app/login。

然而,当我在一些网站上看到,它实际上可以重定向到https://www.mydomain.com/app/login(没有https端口8181)。这是否意味着服务器在端口80上同时运行HTTP和HTTPS ?

如何在GlassFish 3.1上配置这个?

非root用户不应该使用1024以下的端口。最好将端口转发从80转到8080,443 (https默认)转到8181。

以root身份执行:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8181

需要永久保存:

iptables-save -c > /etc/iptables.rules
iptables-restore < /etc/iptables.rules
vi/etc/network/if-pre-up.d/iptablesload
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

你也可以在admin web gui下配置它:
Configuration -> Server Config -> Network Config -> Network Listeners

只是给出alexblum的答案的更多细节,当你登录到Glassfish管理面板,去Configurations -> server-config -> Network Listeners in Network Config

    然后点击New添加一个新的监听器。在新的监听器页面上,只需选择80作为您的端口,并将0.0.0.0作为您的IP。
  1. 选择tcp作为您的传输,并使用http-thread-pool作为您的线程池
  2. 保存和重启你的Glassfish实例

HTTP默认端口为80。当您访问URL: http://www.example.com/时,您正在连接到www.example.com:80

HTTPS默认端口为443。当您访问URL: https://www.example.com/时,您正在连接到www.example.com:443

(见端口号列表)

(参见GlassFish使用其他端口的配置)

最新更新