BTCPayServer mit vorgeschaltenem Apache Webserver

Bei der Installation meines BTCPayServers auf meinen Linux Debian Server bin ich auf das Problem gestoßen, dass auf dem Server bereits ein Apache Webserver lief, weshalb sich der BTCPayServer nach der Installation nicht starten ließ. Das Problem lag daran, dass die Ports 80 und 443 schon durch den Webserver belegt waren, und der von BTCPayServer mitgelieferte NGINX auch diese Ports nutzen wollte. Damit der BTCPayServer ein Letsencrypt Zertifikat erhalten kann, muss dieser auf das Port 80 lauschen. Man könnte nun einen grausigen Workaround machen, indem man den Apache Webserver stoppt und den BTCPayServer temporär auf Port 80 konfiguriert, damit die Zertifikatsabholung funktioniert. Wie gesagt sehr grausig. Die bessere Variante ist die, auf dem Apache Webserver einen ReverseProxy einzurichten und den von BTCPayServer zu stoppen. Damit klappt die Zertifikatsabholung problemlos und auch automatisiert – Letsencrypt Zertifikate sind nur 90 Tage lang gültig.

1.) Die Konfiguration auf dem Apache Webserver sieht dafür so aus:


SSLProxyEngine on
ProxyPass „/“ „https://btcpayserver-hostname:btcpayserver-port/“
ProxyPassReverse / „https://btcpayserver-hostname:btcpayserver-port/“
ProxyPreserveHost On

LimitRequestLine 500000
LimitRequestFieldSize 500000

2.) Auf dem BTCPayServer müssen folgende Schritte im Terminal durchgeführt werden:

export REVERSEPROXY_HTTP_PORT=btcpayserver-port
export REVERSEPROXY_HTTPS_PORT=btcpayserver-port
export REVERSEPROXY_DEFAULT_HOST=none

. ./btcpay-setup.sh

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.