我在 https://very-ugly-and-anoying-domain-name.com:8443/webdir/index.xhtml 有一个可以工作的 tomcat-web 应用程序
现在我想将它缩短为https://appname.nice.com ,所以它重定向到我的内部 https://very-ugly-and-anoying-domain-name.com:8443/appname/
对于所有其他应用程序,我使用 Nginx 重定向子域 http://appname.nice.com至 http://very-ugly-and-anoying-domain-name.com:8081/appname/与
server {
listen 80;
server_name appname.nice.com;
location / {
proxy_pass http://ugly-looooooooooong.domain.com:8081;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
root /data/www/appname;
error_page 403 404 502 503 504 /error.html;
location /error.html {
allow all;
internal;
}
}
但我从未有过重定向 https 连接的话题。我认为不需要将 keystore 添加到 Nginx,因为它已经在 tomcat 中了。
我不需要 HTTP 到 HTTPS 或 HTTPS 到 HTTP。也许有一种方法可以直接在 Tomcat 中设置它,但我不太习惯 tomcat-config。
它是如何工作的?
最佳答案
您的配置不会执行“重定向”,它只是 proxies对具有“丑陋”域名的主机的请求。对于重定向,您必须返回特定的重定向代码。对于 HTTPS,您需要一个在其 Subject Alternative Name 中具有域名 appname.nice.com
的证书。字段,因为 SSL 握手会查找它。使用 ssl on
配置虚拟服务器并使用该证书终止 SSL。然后你可以使用类似的配置将 HTTPS 请求代理到“丑陋”的域名。
关于java - 将子域重定向到工作 HTTPS-Tomcat(使用 NGINX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875981/