我创建了一个在 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
关于glassfish-3 - HTTP 和 HTTPS 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6859577/