1 votos

SSL y ProxyPass

js server que se ejecuta en 8200 y acabo de recibir algunas certificados SSL para mi dominio. Quiero ser capaz de servir a mi página a través de HTTPS.

Hasta ahora mi archivo de configuración de 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 carga con esta config. 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

1voto

Unbeliever Puntos678

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

  1. El uso de <Proxy *> bloques a la hora de configurar un proxy inverso. <Proxy> bloques son casi exclusivamente utilizado para configurar adelante proxies no a la inversa. En tu caso no es necesario.
  2. El uso de ProxyPass dentro de los bloques de ubicación. La mejor práctica es usar los 2 argumento versión de ProxyPass menos que no haya alternativa.
  3. Uso de Apache v2.2 de la autorización de las directivas de Apache v2.4. Recomiendo siempre cambiando todo su v2.2 Allow, Order, Satisfy y require a las directivas de la nueva v2.4 Require directiva y <RequireAny> y <RequireAll> bloques.
  4. El SSLProxyEngine directiva se utiliza para configurar el servidor cuando se proxy de SSL y basado en el servicio y no tiene nada que ver con el hecho de que su host virtual es un SSL o no (Sí, sé que me dijo 3, pero esta es una muy menor, y sólo he añadido porque le respondió diciendo que su back-end no estaba habilitado para SSL :-)

Intente lo siguiente como una base, y es de esperar "limpio", de la configuración y trabajar desde allí. *f no funciona, nos dicen lo que en realidad 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 Puntos177

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:

<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:

;