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!