Tomcat从8443到443

gre*_*rep 2 java ssl tomcat tomcat7 tomcat8

我在tomcat 8上启动了spring MVC web应用程序.

我已经为SSL授权创建了证书.我有这样的东西在一个server.xml中

<Connector SSLEnabled="true" 
  keystoreFile="ks.p12" 
  keystoreType="pkcs12" 
  keystorePass="*****"
  port="8443"
  scheme="https"
  secure="true" 
  sslProtocol="TLS"/> 
Run Code Online (Sandbox Code Playgroud)

好.现在一切都运作良好!

但是如何在443端口上启动服务器?当我尝试使用open https://dev-sp.ge/时, 它会收到消息"此网页不可用"

在此输入图像描述

icz*_*cza 5

在unix系统中,使用1024以下的端口通常需要特殊权限或权限.

您的Tomcat使用端口,8443因为它不在"受保护"端口范围内.

当然,第一步是将端口更改为443Tomcat中的端口server.xml.

允许Tomcat使用443或80端口的一种方法是使用Authbind

authbind 允许不以或不应以root身份运行的程序以受控方式绑定到低编号端口.

低于1024个的端口在启用:/etc/default/tomcat8.添加以下行:

AUTHBIND=true
Run Code Online (Sandbox Code Playgroud)

并为此创建一个新文件:

sudo touch /etc/authbind/byport/443
sudo chown tomcat8 /etc/authbind/byport/443
sudo chmod 500 /etc/authbind/byport/443
Run Code Online (Sandbox Code Playgroud)


小智 5

对我有用的解决方案:将 443 个请求重定向到 8443。

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
Run Code Online (Sandbox Code Playgroud)

使用 ( /sbin/) iptables-save(以 root 身份)使更改永久生效。