SSL e ProxyPass

1

servidor js em execução no 8200 e acabei de obter alguns certificados SSL para o meu domínio. Quero poder exibir minha página em HTTPS.

Até agora, meu arquivo de configuração do Apache é assim

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

<VirtualHost *:443>
  ServerAdmin [email protected]
  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>

No entanto, meu site não carrega usando essa configuração. Alguma idéia?

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

e 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
    
por sova 27.10.2016 / 01:52

2 respostas

1

A sua configuração contém três das principais queixas sobre exemplos de configuração disponíveis em estado selvagem

  1. O uso de <Proxy *> bloqueia ao configurar um proxy reverso. <Proxy> blocks são quase usados exclusivamente para configurar proxies forward não reversos. No seu caso, não é necessário.
  2. O uso de ProxyPass nos blocos de localização. A melhor prática é usar a versão de 2 argumentos de ProxyPass , a menos que não haja alternativa.
  3. Uso de diretivas de autorização do Apache v2.2 no Apache v2.4. Recomendamos strongmente que sempre altere todas as suas diretrizes v2.2 Allow , Order , Satisfy e require para a nova diretiva co2de% v2.4% e Require e <RequireAny> blocks.
  4. A diretiva <RequireAll> é usada para configurar seu servidor quando você está fazendo proxy para e serviço baseado em SSL e não tem nada a ver se o seu host virtual real é um SSL ou não (Sim sei que eu disse 3, mas este é muito menor, e eu só adicionei porque você respondeu dizendo que seu back-end não foi ativado por SSL: -)

Tente o seguinte como uma base, e esperançosamente "limpo", configuração e trabalho a partir daí. * Se não funcionar, diga-nos o que realmente acontece, em vez de apenas dizer "não funciona".

<VirtualHost *:443>
  ServerAdmin [email protected]
  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>
    
por 30.10.2016 / 10:10
0

é o seu backend ssl?

se não:

<VirtualHost *:443>
  ServerAdmin [email protected]
  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>

se for:

<VirtualHost *:443>
  ServerAdmin [email protected]
  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>
    
por 27.10.2016 / 03:07