How to SSL with Apache2 mutiple port on One Ubuntu Serve within lots dockers?
Oct 27, 2023
Three docker reflect port1(frontend), port2(backend), port3(other small website)
<VirtualHost *:80>
ServerName domain1.com
ServerAlias www.domain1.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain1\.com$ [NC]
RewriteRule ^(.*)$ https://www.domain1.com$1 [L,R=301]
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.com.tw
ServerAlias www.domain2.com.tw
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain2\.com\.tw$ [NC]
RewriteRule ^(.*)$ https://www.domain2.com.tw$1 [L,R=301]
</VirtualHost>
<VirtualHost *:443>
ServerName domain1.com
ServerAlias www.domain1.com
ProxyRequests off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
# Proxy
ProxyPass /admin http://ip1.ip1.ip1.ip1:port1/
ProxyPassReverse /admin http://ip1.ip1.ip1.ip1:port1/
ProxyPass / http://ip1.ip1.ip1.ip1:port2/
ProxyPassReverse / http://ip1.ip1.ip1.ip1:port2/
ProxyPreserveHost on
# SSL
SSLEngine on
SSLCertificateFile /etc/ssl/certs/certificate.crt
SSLCertificateKeyFile /etc/ssl/private/private.key
SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt
</VirtualHost>
<VirtualHost *:443>
ServerName domain2.com.tw
ServerAlias www.domain2.com.tw
ProxyRequests off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
# Proxy
ProxyPass / http://ip1.ip1.ip1.ip1:port3/
ProxyPassReverse / http://ip1.ip1.ip1.ip1:port3/
ProxyPreserveHost on
# SSL
SSLEngine on
SSLCertificateFile /etc/ssl/certs/certificate2.crt
SSLCertificateKeyFile /etc/ssl/private/private2.key
SSLCertificateChainFile /etc/ssl/certs/ca_bundle2.crt
</VirtualHost>