plesk Let’s Encrypt proxy

Obecnie witryna bez SSL traktowana jest jako błąd i szczerze powiem że wiele w tym racji idąc w kierunku prywatności. Let’s Encrypt to całkiem fajna sprawa pomijając fakt ,że dosłownie Let’s Encrypt wygryzł z rynku inne konkurencyjne platformy które oferowały darmowy certyfikat SSL. Ale jak to mówią to już było! Dziś potrzebowałem odnowić Let’s Encrypt w panelu plesk ponieważ otrzymywałem komunikat że jest jakiś problem. Pierwsza myśl była taka że pewnie jest tysiące domen więc Let’s Encrypt dostawał czkawki. Niestety to nieprawda! domena w panelu plesk była ustawiona jako proxy a sam certyfikat Let’s Encrypt wygenerowany zanim proxy zostało włączone. W tym konkretnym przypadku używam ssl typu Wildcard – dla wszystkich subdomen. Odnawiając certyfikat panel szuka ścieżki i jej zawartości jak poniżej:

/.well-known/acme-challenge

samo proxy w panelu plesk przekierowałem tylko na konkretny adres IP i port więc każda próba odnowienia Let’s Encrypt kończyła się niepowodzeniem ponieważ Let’s Encrypt szukał ścieżki jak przedstawiłem powyżej na serwerze który jest za proxy. Ma to sens prawda? Pogrzebałem na kilku serwerach bo już kiedyś miałem podobny problem i znalazłem rozwiązanie. Zawartość przedstawiona poniżej należy wkleić w panelu plesk a dokładnie w Additional Apache directives:

<IfModule mod_proxy.c>
ProxyPass /.well-known/acme-challenge !
</IfModule>
Alias /.well-known/acme-challenge /var/www/vhosts/domena.pl/httpdocs/.well-known/acme-challenge
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:0000/
ProxyPassReverse / http://0.0.0.0:0000/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://0.0.0.0:0000/$1" [P,L]

Z elementów które należy dostosować do własnej konfiguracji to domena.pl i serwer za proxy z portem 0.0.0.0:0000 . I to by było na tyle!