2017-05-06 3 views
1

Ich habe eine NodeJS App hinter einem Apache-Konfiguration mit Proxypass läuft. Das HTTPS wird unter Verwendung von Letsencrypt eingerichtet.Griff Acme-Herausforderung Letsencrypt fordert

Wie Sie wahrscheinlich wissen, um ein Letsencrypt-Zertifikat zu validieren, müssen wir eine Anfrage wie die unten stehende, die vom Letsencrypt-Server gesendet wurde, bearbeiten.

http://sub.afakedomain.com/.well-known/acme-challenge/some-random-stringhere

Im Moment der Anfrage Ergebnisse in eine nicht gefunden, weil die Proxypass die Anfrage direkt an meine NodeJS App umleiten, die diese Anforderung nicht verarbeiten hat.

  • würde eine Lösung sein, eine Route in meinem NodeJS App definieren würde die Anfrage bearbeiten
  • Eine andere Lösung sein, die Anfrage in Apache zu erkennen und stattdessen die Anforderung an der NodeJS App es, Route direkt von Routing der Ordner mit dem Verzeichnis .well-known.

würde Ich mag die Apache-Lösung verwenden, aber ich bin nicht in der Lage, den richtigen Weg zu finden, es zu tun.

Pfad zu den bekannten Verzeichnis

/var/www/html/.well-known/

Mein vHost

<VirtualHost *:80> 
      DocumentRoot /var/www/html/fail 
      ServerName sub.afakedomain.com 
      RewriteEngine on 
      RewriteCond %{SERVER_PORT} !^443$ 
      RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R] 
</VirtualHost> 

<VirtualHost *:443> 
      ProxyPreserveHost On 
      ProxyRequests Off 
      ServerName sub.afakedomain.com 
      Proxypass/http://localhost:5555/ 
      ProxyPassReverse/http://localhost:5555/ 

      SSLEngine On 
      SSLCertificateFile /etc/letsencrypt/live/afakedomain.com/cert.pem 
      SSLCertificateKeyFile /etc/letsencrypt/live/afakedomain.com/privkey.pem 
      SSLCertificateChainFile /etc/letsencrypt/live/afakedomain.com/chain.pem 
      SSLCACertificateFile /etc/letsencrypt/live/afakedomain.com/fullchain.pem 
      Include /etc/letsencrypt/options-ssl-apache.conf 
</VirtualHost> 
Einstellung

Wenn Sie einige Vorschläge haben, fühlen Sie sich frei! Vielen Dank!

Antwort

1

Wenn Sie das Verzeichnis .well-known von der Proxy-Funktion ausschließen möchten, müssen Sie nur einen Ausschluss hinzufügen. Fügen Sie die folgende vor den bestehenden ProxyPass Linien:

ProxyPass /.well-known/ ! 

Und Sie sollten alle eingestellt werden. Weitere Informationen finden Sie in der Dokumentation ProxyPass.