我在端口80上运行的Apache服务器上部署了wordpress应用程序,我还在端口443上运行的Tomact服务器上部署了一个java Web应用程序。
基本上我有:
http://mysite.com(Apache)
https://mysite.com/application(Tomcat)
现在我需要开始为我的网站使用我的SSL证书。我知道这些进程不能共享同一个端口。有没有办法保留两个网址而不添加额外的端口?所以两者都可以通过以下方式访问:
https://mysite.com(Apache)
https://mysite.com/application(Tomcat)
答案 0 :(得分:0)
我将这个答案基于我在Tomcat实例前面的Apache配置。我没有您的确切配置,但我相信以下内容应该有效。
我有一个SSL配置,这是事情转发到Tomcat的地方。 我把它修改为我认为你需要的东西:
<VirtualHost _default_:443>
ServerName www.example.com
ProxyPreserveHost on
ProxyPass /application http://localhost:8080/application
ProxyTimeout 360
# rest of the ssl configuration
</VirtualHost>
这应该将/application
下的所有内容转发给Tomcat,并保持其余部分由Apache提供服务。请注意,这假设您已为服务器启用了proxy
(a.k.a. mod_proxy)模块。
答案 1 :(得分:0)
一种简单的方法是挂载Nginx服务器并根据URL命中管理重定向:
server {
listen 80;
server_name *.domain.me;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name *.domain.me;
ssl_certificate /path/to/crt;
ssl_certificate_key /path/to/key;
location / {
proxy_pass http://destinationIp:destinationPort;
proxy_set_header Host $host;
}
}