首页 > 解决方案 > 为 localhost 和 LAN 连接设置 SSL

问题描述

我已经用 phpmyadmin 建立了一个 LAMP 服务器。我已将 apache2 配置为(通过 Headers mod)仅允许 SSL 连接,但这使我无法访问 LAN 上的 phpmyadmin。当我设置子域和 LetsEncrypt 证书时,我访问 phpmyadmin (phpmyadmin.example.com) 没有问题,但是如果我尝试从 LAN 或服务器本身访问它,我不能安全地这样做,所以我可以'登录。

好吧,在实际的服务器上,我可以将https://localhost/phpmyadmin插入浏览器并接受不安全的连接警告,但是在 LAN 上使用不同的计算机时这不起作用(https://server-name/ phpmyadmin)。即使有密码保护,我也不喜欢让外部访问 phpmyadmin。

有没有办法在 LAN 上建立安全连接,或者我是否需要某种方法来免除 /phpmyadmin 文件夹的 SSL 要求?可以仅对 LAN 连接执行此操作吗?

标签: apachesecuritysslphpmyadminlamp

解决方案


您必须使用在证书生成期间CN或期间提供的相同主机名访问 URL 。SAN

由于您想使用本地访问应用程序localhost并且任何 CA 都不会签署您的具有CNvalue的证书,因此localhost您需要使用生成的 slef 签名证书localhost并将其导入您的密钥库。

针对 localhost 生成自签名证书的命令:

openssl req -x509 -out localhost.crt -keyout localhost.key \ -newkey rsa:2048 -nodes -sha256 \ -subj '/CN=localhost' -extensions EXT -config <( \ printf "[dn]\nCN=localhost \n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

是一篇关于相同的文章。


推荐阅读