Estoy ejecutando el servidor Ubuntu (18.04) en una máquina virtual de Azure, con Apache2 (2.4.29). Tengo una aplicación de backend ejecutándose en la ventana acoplable en el mismo host al que llama mi sitio. Esto funciona bastante fácil sin SSL. Agregué mi certificado SSL y una página estática se carga bien a través de https (por lo que el certificado es válido). Cuando agrego la página que llama a mi aplicación (escuchando en el puerto de host 8080), aparece un error:
CONSEGUIRhttps://myhost.com:8080/api/fetchServiceneto::ERR_SSL_PROTOCOL_ERROR
Dado que mi aplicación en el contenedor no está configurada para SSL, ¿cómo configuro Apache2 para interactuar con el contenedor local sin SSL?
configuración de host virtual:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName myhost.com
DocumentRoot /var/www/myhost.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LoadModule ssl_module modules/mod_ssl.so
SSLProxyEngine on
ProxyPreserveHost On
ProxyPass *:8080/ http://myhost.com:8080/
ProxyPassReverse *:8080/ http://myhost.com:8080/
Header set Access-Control-Allow-Origin "*"
SSLCertificateFile /etc/letsencrypt/live/myhost.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/myhost.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Respuesta1
Publicación para cualquier otra persona con el mismo problema. Terminé creando un segundo host virtual para el proxy inverso.
entonces sitio1 -> para la página web de Apache con SSL,
sitio2 -> proxy inverso para finalizar SSL para el servicio de contenedor. Luego copié el archivo de host virtual ssl original y lo ajusté para el nuevo host virtual 8443:
comentar Raíz del documento (p. ej., # raíz del documento)
<Location />
Order allow,deny
Allow from all
ProxyPass http://localhost:8080/ flushpackets=on
ProxyPassReverse http://localhost:8080/
</Location>
También se agregó un segundo puerto de escucha en ports.conf (por ejemplo, 8443) y se habilitó el sitio. a2ensite reverse-ssl.conf systemctl reiniciar apache2
¡bueno para ir!