2 votos

SSL y ProxyPass

servidor js corriendo en 8200 y acabo de conseguir algunos certificados SSL para mi dominio. Quiero poder servir mi página a través de HTTPS.

Hasta ahora mi archivo de configuración del Apache es así

Archivo: /etc/apache2/sites-enabled/synsis.conf

<VirtualHost *:443>
  ServerAdmin sova.k@gmail.com
  ServerName  www.synsis.live
  ServerAlias synsis.live

  SSLEngine On
  SSLProxyEngine On
  SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
  SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
  SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"

  ProxyRequests Off
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

<Location />
  ProxyPass  https://localhost:8200/
  ProxyPassReverse  https://localhost:8200/
</Location>
</VirtualHost>

Sin embargo, mi sitio no se carga usando esta configuración. ¿Alguna idea?

apachectl -t

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

y apachectl -S

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost ch.mu (/etc/apache2/sites-enabled/c.conf:1)
         port 80 namevhost www.hai.run (/etc/apache2/sites-enabled/hai.conf:3)
                 alias hai.run
         port 80 namevhost practicalhuman.org (/etc/apache2/sites-enabled/ph.conf:4)
                 alias www.practicalhuman.org
*:443                  www.synthesis.live (/etc/apache2/sites-enabled/synthesis.conf:5)

ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used

2voto

Unbeliever Puntos 678

Tu configuración contiene tres de mis mayores quejas sobre los ejemplos de configuración que hay en la naturaleza

  1. El uso de <Proxy *> se bloquea cuando se configura un proxy inverso. <Proxy> Los bloques son casi exclusivamente para configurar proxies de avance y no de retroceso. En su caso no es necesario.
  2. El uso de ProxyPass dentro de los bloques de ubicación. La mejor práctica es usar la versión de 2 argumentos de ProxyPass a menos que no haya alternativa.
  3. Uso de las directivas de autorización de Apache v2.2 en Apache v2.4. Recomendaría encarecidamente siempre cambiando todas sus v2.2 Allow , Order , Satisfy y require directivas para la nueva v2.4 Require directiva y <RequireAny> y <RequireAll> bloques.
  4. El SSLProxyEngine se utiliza para configurar el servidor cuando se hace un proxy a y el servicio basado en SSL y no tiene nada que ver con si su anfitrión virtual real es un SSL o no (Sí, sé que dije 3, pero este es uno muy menor, y sólo lo añadí porque usted respondió diciendo que su back-end no estaba habilitado para SSL :-)

Pruebe lo siguiente como base, y con suerte "limpiar", la configuración y el trabajo a partir de ahí. *Si no funciona, dinos lo que realmente sucede en lugar de decir simplemente "no funciona".

<VirtualHost *:443>
  ServerAdmin sova.k@gmail.com
  ServerName  www.synsis.live
  ServerAlias synsis.live

  SSLEngine On
  SSLProxyEngine On
  SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
  SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
  SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"

  # This is the default anyway, but no harm having it explicitly set
  ProxyRequests Off

  # You say in a comment your backend is not SSL, but your original configuration
  # tries to proxy to an SSL enabled service. This is almost certainly
  # why it originally failed
  ProxyPass / http://localhost:8200/
  ProxyPassReverse / http://localhost:8200/
</VirtualHost>

0voto

Jacob Evans Puntos 177

¿es tu backend ssl?

si no:

<VirtualHost *:443>
  ServerAdmin sova.k@gmail.com
  ServerName  www.synsis.live
  ServerAlias synsis.live

  SSLEngine On
  SSLProxyEngine On
  SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
  SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
  SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"

  ProxyRequests Off
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

<Location />
  ProxyPass  http://localhost:8200/
  ProxyPassReverse  http://localhost:8200/
</Location>
</VirtualHost>

si es que lo es:

<VirtualHost *:443>
  ServerAdmin sova.k@gmail.com
  ServerName  www.synsis.live
  ServerAlias synsis.live

  SSLEngine On
  SSLProxyEngine On
  SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
  SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
  SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"

  ProxyRequests Off
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

<Location />
  SSLProxyEngine on
  ProxyPass  https://localhost:8200/
  ProxyPassReverse  https://localhost:8200/
</Location>
</VirtualHost>

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: