1.7. Configurazione del webserver dell'host

Si configuri il webserver dell'host per inoltrare tutto il traffico dalla porta 443 (o 80, se si è selezionato http in DJANGO_PROXY_PROTOCOL) alla porta locale 30033.

Sono allegate le istruzioni per il webserver Apache HTTPd; possono essere però adattate se si vuole usare un webserver diverso, come NGINX o caddy.

Con Apache HTTPd

Ci si assicuri che mod_rewrite, mod_proxy, mod_proxy_http e mod_proxy_wstunnel siano attivati.

Si aggiungano i seguenti VirtualHost alla configurazione:

<VirtualHost *:80>
    ServerName "ilmiosophon.it"
    ServerAlias "*.ilmiosophon.it"

    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
    ServerName "ilmiosophon.it"
    ServerAlias "*.ilmiosophon.it"

    SSLEngine on
    SSLCertificateFile      "/SOSTITUISCIMI/CON/IL/PERCORSO/ALLA/FULL/CHAIN/SSL"
    SSLCertificateKeyFile   "/SOSTITUISCIMI/CON/IL/PERCORSO/ALLA/CHIAVE/PRIVATA/SSL"

    ProxyPreserveHost On
    RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://127.0.0.1:30033/$1 [P,L]
    RewriteRule /(.*)           http://127.0.0.1:30033/$1 [P,L]

    Protocols h2 http/1.1
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>

Infine, si riavvii Apache HTTPd:

root:/dock/sophon# systemctl restart httpd