es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El protocolo Apache HTTPS está siendo redirigido a HTTP.

He configurado el archivo https-vhosts.conf en apache para apuntar a un puerto no estándar.

ProxyRequests Off
ProxyPreserveHost On
Listen 8081

RequestHeader set X-Forwarded-Proto “https” ####esto es necesario para nuestra aplicación
ServerName test.apa.com
ProxyPass / http://10.1.1.5:8443
ProxyPassReverse / http://10.1.1.5:8443
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

Sin embargo, cuando trato de acceder a la URL en Chrome: https://test.apa.com:8081, obtengo el siguiente error:

También, la URL en la barra de direcciones se muestra como http://test.apa.com:8081. Sin embargo, cuando cambio http a https e intento acceder, funciona bien y el navegador muestra https://test.apa.com:8081.

Por favor, sugiera cuál es el problema con la configuración de los hosts virtuales.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que puede haber un problema con la configuración SSL en su host virtual. Aunque ha habilitado el motor SSL y proporcionado los archivos de certificado y clave SSL, el encabezado X-Forwarded-Proto que ha establecido en “https” está destinado a indicar que la conexión a la aplicación es a través de HTTPS, pero la conexión entre el navegador y el servidor todavía está utilizando HTTP. Esta es probablemente la razón por la que el navegador muestra una advertencia de contenido mixto.

    Para solucionar esto, puede intentar configurar la directiva “ProxyPreserveHost” en “Off”. Esto le indica a Apache que reenvíe la solicitud al servidor de backend utilizando la dirección IP interna en lugar del nombre de host. Como resultado, el servidor de backend utilizará el protocolo correcto (HTTPS) al generar enlaces y respuestas de redireccionamiento.

    Aquí está la configuración actualizada:

    ProxyRequests Off
    ProxyPreserveHost Off # cambió de On
    Listen 8081
    <virtualhost *:8081="">
      RequestHeader set X-Forwarded-Proto "https"
      ServerName test.apa.com
      ProxyPass / http://10.1.1.5:8443
      ProxyPassReverse / http://10.1.1.5:8443
      SSLEngine on
      SSLCertificateFile /etc/ssl/certs/server.crt
      SSLCertificateKeyFile /etc/ssl/private/server.key
    </virtualhost>
    

    Recuerde reiniciar Apache después de realizar cualquier cambio en la configuración. Con esta configuración actualizada, debería poder acceder a su aplicación a través de HTTPS en el puerto 8081 sin ninguna advertencia o error.

Comments are closed.