我可以在 :10000 上重复使用 :443 的证书吗

我可以在 :10000 上重复使用 :443 的证书吗

我已使用 letsencrypt/certbot 在 ubuntu 16.04 上为我的网站设置 SSL。我已安装 webmin,它正确地提示它不安全。我应该怎么做才能获得在 webmin 端口 10000 上运行的证书?我正在使用 apache。

答案1

  1. 如果您没有通过命令行安装 Webmin 的 Let's 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 端口)上工作。

您可能需要通过在接受以下端口的证书检查器中输入 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防火墙中的端口。

相关内容