简体   繁体   中英

SSL sharing between Apache and Apache tomcat with standard port

I have a wordpress application deployed on an Apache server running on port 80 and I also have a java web application deployed on a Tomact server running on port 443.

So basically I have:

http ://mysite.com (Apache)

https: //mysite.com/application (Tomcat)

Now I need to start using my SSL certificate for my website. I know that these processes cannot share the same port. Is there a way to keep both urls without adding an extra port? So both can be accessed via:

https ://mysite.com (Apache)

https ://mysite.com/application (Tomcat)

I'm basing this answer on my configuration with Apache in the front of a Tomcat instance. I don't have your exact configuration but I believe the following should work.

I have an SSL configuration which is where things get forwarded to Tomcat. I've modified it to be what I think you need:

<VirtualHost _default_:443>
    ServerName www.example.com

    ProxyPreserveHost on
    ProxyPass /application http://localhost:8080/application
    ProxyTimeout 360

    # rest of the ssl configuration
</VirtualHost>

This should forward everything under /application to Tomcat and keep the rest being served by Apache. Note that this assumes that you have the proxy (aka mod_proxy) module enabled for your server.

An easy way of doing this is to mount an Nginx server and manage the redirection according to the URL hit:

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;
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM