 
          In questo articolo, vedremo come configurare un reverse proxy su Apache per accedere a Cockpit tramite HTTPS, con il supporto per WebSocket. Questa configurazione è utile per migliorare la sicurezza e l’accessibilità quando si utilizza Cockpit su una rete interna.
192.168.1.100).Modifica il file di configurazione di Apache o crea un nuovo virtual host per configurare il reverse proxy per Cockpit. La configurazione è la seguente:
;
ServerName esempio.dominio.com
ProxyPreserveHost On
# Impostazioni SSL tra il client e Apache
SSLEngine on
SSLProxyEngine On
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLCertificateFile /path/to/certificates/cert.crt
SSLCertificateKeyFile /path/to/certificates/key.key
SSLCertificateChainFile /path/to/certificates/chain.crt
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
SSLCipherSuite HIGH:!aNULL:!MD5
Header always unset X-Frame-Options
# Configura il Proxy verso Cockpit usando HTTP e WebSocket
ProxyPass / https://192.168.1.100:9090/ upgrade=websocket
ProxyPassReverse / https://192.168.1.100:9090/
ProxyPass /ws/ wss://192.168.1.100:9090/ws/
ProxyPassReverse /ws/ wss://192.168.1.100:9090/ws/
# Inoltra gli header per HTTPS
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Host "esempio.dominio.com"
RequestHeader set X-Forwarded-SSL "on"
# Compressione delle risposte
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
SetOutputFilter INFLATE;DEFLATE
Order deny,allow
Allow from all
 
 
ProxyPreserveHost On: mantiene il nome host originale.SSLEngine on e SSLProxyEngine On: abilitano il supporto SSL per le connessioni tra Apache e il client e tra Apache e Cockpit.SSLProtocol e SSLCipherSuite: limitano i protocolli e le suite di cifratura per migliorare la sicurezza.ProxyPass e ProxyPassReverse per la gestione delle connessioni WebSocket e HTTPS tra Apache e Cockpit.X-Forwarded headers per informare Cockpit che la connessione avviene tramite HTTPS.Una volta completata la configurazione, riavvia Apache per applicare le modifiche:
sudo systemctl restart apache2Questa configurazione permette di accedere a Cockpit in modo sicuro tramite un reverse proxy Apache. Assicurati di verificare la configurazione e controllare i log per risolvere eventuali problemi di handshake TLS o di connessione WebSocket.