我已使用 letsencrypt/certbot 在 ubuntu 16.04 上为我的网站设置 SSL。我已安装 webmin,它正确地提示它不安全。我应该怎么做才能获得在 webmin 端口 10000 上运行的证书?我正在使用 apache。
答案1
- 如果您没有通过命令行安装 Webmin 的 Let's Encrypt / certbot 模块,请安装它。
- 进入 Webmin,接受浏览器的投诉,即它是一个不安全的站点。
- 在 Webmin 中,导航到 Webmin > Webmin 配置、SSL 加密。
- 单击顶部的“Let's Encrypt”选项卡。
- 选择证书选项,例如输入不带端口的 webmin 域的域名,然后单击“请求证书”。
- 处理任何错误(例如,在命令行上运行的 certbot 创建的目录的写权限不能由 apache webserver 写入)。
- 一旦此 webmin 配置过程完成,它就会在 /etc/webmin 下安装一个证书,该证书仅在端口 10000(默认 webmin 端口)上工作。
您可能需要通过在接受以下端口的证书检查器中输入 yourdomain.com:10000 来验证您的证书是否正常工作https://www.sslshopper.com/ssl-checker.html。我不得不摆弄一下才能让 chrome 注意到新的证书。
答案2
简短的回答是:是的你可以。
不幸的是我不记得具体步骤了,我已经做了两年多了。但我会写下一些主要内容。
Webmin 使用 Lighttpd Web 服务器,这不是 Apache 的配置设置。(不在此状态下。)
如果不适合,您应该将证书转换为适合 Webmin 的格式。
您可以通过 Webmin 的 Web 界面导入您的证书,或者您可以手动编辑 Webmin 的 Lighttpd 配置文件(
/etc/webmin/config
我记得没错的话)。您在哪个端口上使用 HTTPS 并不重要,只要(配置完成后)您的浏览器请求应以 开头,
https://
而不是http://
。并且由于证书用于域名,因此您应该通过域名(和端口)而不是 IP(和端口)访问 Webmin。
目前我没有使用 Webmin。对我来说,ssh 连接足以管理远程实例。因此,我建议您将 Apache 配置为类似情况下的反向代理,在我看来,这将是更有用的经验。
1010
在防火墙中打开端口(或其他空闲端口)。根据提供 HTTPS 服务的配置文件(在端口 上
443
),创建一个新的 Apache VirtualHost 配置文件。新配置文件的内容应如下所示:<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>
启用基本 Apache 的代理模块,启用新的虚拟主机并重新启动 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
现在您应该能够通过 HTTPS 访问 Webmin,地址如下:
https://my.domain.com:1010/
现在您可以关闭
1000
防火墙中的端口。