我可以重用cert:443 on:10000

我已经使用letsencrypt / certbot在ubuntu 16.04上为我的站点设置SSL。 我已经安装了webmin并正确地抱怨它不安全。 我应该怎么做才能使证书在webmin端口10000上工作? 我正在使用apache。

简短的回答是: 是的,你可以。

不幸的是,我不记得确切的步骤,我已经在2年前完成了。 但我会写下一些主要的州。

  • Webmin使用Lighttpd Web服务器,这不是Apache的配置设置。 (不是这个状态。)

  • 您应该将证书转换为适合Webmin格式,如果不是。

  • 您可以通过Webmin的Web界面导入证书,也可以手动编辑Webmin的Lighttpd配置文件( /etc/webmin/config因为我没记错)。

  • 您使用HTTPS的端口无关紧要(仅在配置完成后),您的浏览器请求应以https://而不是http://开头。 并且因为证书是针对域名的,所以您应该通过域名(和端口)而不是IP(和端口)访问Webmin。

目前我不使用Webmin。 对我来说,ssh连接足以管理远程实例。 因此,我建议您将Apache配置为类似情况的反向代理,即IMO,将会提供更实用的体验。

  • 打开防火墙中的端口1010 (或其他一些空闲端口)。

  • 基于提供HTTPS的端口(在端口443 )创建新的Apache的VirtualHost配置文件。 新配置文件的内容应如下所示:

      Listen 1010  ServerName my.domain.com ServerAdmin admin@my.domain.com 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  Order deny,allow Allow from all  ProxyPass "/" "http://localhost:1000/" ProxyPassReverse "/" "http://localhost:1000/"  Order allow,deny Allow from all    
  • 启用基本Apache的代理模块,启用新的虚拟主机并重新启动Web服务器:

     sudo a2enmod proxy proxy_http # [Tab] to find more modules sudo a2ensite .conf sudo systemctl restart apache2.service 
  • 现在您应该能够通过HTTPS在地址访问Webmin,如下所示:

     https://my.domain.com:1010/ 
  • 现在您可以关闭防火墙中的端口1000

  1. 如果您没有通过命令行安装,请为Webmin安装Let的Encrypt / certbot模块。
  2. 进入Webmin接受浏览器的抱怨,认为这是一个不安全的网站。
  3. 在Webmin中,导航到Webmin> Webmin配置,SSL加密。
  4. 单击顶部的Let’s Encrypt选项卡。
  5. 选择证书选项,例如,在没有端口的情况下输入webmin域的域名,然后单击“申请证书”。
  6. 处理任何错误(例如,在命令行上运行的certbot创建的目录的写权限,这些目录不能由apache webserver写入)。
  7. 完成此webmin配置过程后,它已在/ etc / webmin下安装了一个证书,该证书仅适用于端口10000(默认的webmin端口)。

您可能希望通过在接受https://www.sslshopper.com/ssl-checker.html等端口的证书检查程序中输入yourdomain.com:10000来validation您的证书是否有效。 我不得不小提琴让铬注意到新的证书。