A resposta curta é: Sim, você pode.
Infelizmente, não me lembro dos passos exatos, já fiz isso há dois anos. Mas vou escrever alguns estados principais.
-
O Webmin usa o servidor da web Lighttpd e essa não é a configuração do Apache. (Não neste estado.)
-
Você deve converter o certificado para um formato apropriado para o Webmin, se não for.
-
Você pode importar seu certificado através da interface web do Webmin, ou pode editar manualmente o arquivo de configuração Lighttpd do Webmin ( /etc/webmin/config
, como lembro corretamente).
-
Não importa em qual porta você está usando HTTPS, apenas (uma vez configurado) as solicitações do seu navegador devem começar com https://
em vez de http://
. E como os certificados são para um nome de domínio, você deve acessar o Webmin por meio do nome de domínio (e porta) em vez de IP (e porta).
Atualmente não uso o Webmin. Para mim, a conexão ssh é suficiente para administrar uma instância remota. Então eu sugiro que você configure o Apache como proxy reverso para casos semelhantes, que, IMO, será uma experiência mais útil.
-
Abra a porta 1010
(ou alguma outra porta livre) no seu Firewall.
-
Crie um novo arquivo de configuração do VirtualHost do Apache, com base naquele que serve HTTPS (na porta 443
). O conteúdo do novo arquivo de configuração deve ficar assim:
<IfModule mod_ssl.c>
Listen 1010
<VirtualHost _default_:1010>
ServerName my.domain.com
ServerAdmin [email protected]
ErrorLog ${APACHE_LOG_DIR}/my.domain.com.error.log
CustomLog ${APACHE_LOG_DIR}/my.domain.com.access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/my.domain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/my.domain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/my.domain.com/chain.pem
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass "/" "http://localhost:1000/"
ProxyPassReverse "/" "http://localhost:1000/"
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
</IfModule>
-
Habilite os módulos básicos do proxy do Apache, ative o novo Host Virtual e reinicie o servidor web:
sudo a2enmod proxy proxy_http # [Tab] to find more modules
sudo a2ensite <my.domain.com on port 1010>.conf
sudo systemctl restart apache2.service
-
Agora, você deve conseguir acessar o Webmin por meio de HTTPS no endereço da seguinte forma:
https://my.domain.com:1010/
-
Agora você pode fechar a porta 1000
no Firewall.