运行 tomcat 在 443 端口

Run tomcat on 443 port

我正在使用 Red Hat Enterprise Linux Server 6.7 (Santiago) 操作系统来访问部署在 8443 端口的应用程序。请建议我如何点击我的应用程序 https://localhost/AppName 本地和 https://HOST_NAME/AppName 全球。

请在 Linux 框中建议必须进行哪些更改。 我对 server.xml 文件

进行了以下更改
< Connector 
port="8443" 
protocol="HTTP/1.1" 
SSLEnabled="true"
maxThreads="150" 
scheme="https" 
secure="true"
clientAuth="false" 
sslProtocol="TLS" 
keystoreFile="conf/Certificate/keystore.jks"
keystorePass="<PASSWORD>" 
/>

您可以将 tomcat 监听的端口更改为 443,这是标准的 https 端口。

 < Connector 
port="443" 
protocol="HTTP/1.1" 
SSLEnabled="true"
maxThreads="150" 
scheme="https" 
secure="true"
clientAuth="false" 
sslProtocol="TLS" 
keystoreFile="conf/Certificate/keystore.jks"
keystorePass="<PASSWORD>" 
/>

https://HOST_NAME:8443/AppName 其中 HOST_NAME 是您服务器 server/IP 地址的已发布 DNS 名称。 AppName 将是您访问(通常是您的 servlet 映射)应用程序的路径,如 web.xml 中为您的应用程序定义的那样。

您可以使用nginx 作为反向代理。由于您已经拥有 Tomcat,您所要做的就是安装 Nginx 并配置 SSL 和非 SSL 虚拟主机。您可以通过删除默认虚拟主机文件并在 nginx 的配置目录中的两个不同文件中创建以下内容来执行此操作:

server {
    listen 80 default_server;

    server_name example.com www.example.com;
    location /{
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass              http://localhost:8080
    }
}

server{
    listen 443;
    server_name example.com;

    ssl_certificate           /etc/nginx/cert.crt;
    ssl_certificate_key       /etc/nginx/cert.key;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    location / {
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass              http://localhost:8443;
    }
    }

Nginx 现在会将所有请求代理到 Tomcat。有了 Nginx,您还可以利用它的缓存功能。它非常适合 caching/serving 静态内容。

不要忘记将密钥添加到上面配置中指定的位置。