为 localhost 和 LAN 连接设置 SSL
Posted
技术标签:
【中文标题】为 localhost 和 LAN 连接设置 SSL【英文标题】:Setting up SSL for localhost and LAN connections 【发布时间】:2020-09-20 07:46:51 【问题描述】:我已经用 phpmyadmin 建立了一个 LAMP 服务器。我已将 apache2 配置为(通过 Headers mod)仅允许 SSL 连接,但这使我无法访问 LAN 上的 phpmyadmin。当我设置子域和 LetsEncrypt 证书时,我访问 phpmyadmin (phpmyadmin.example.com) 没有问题,但是如果我尝试从 LAN 或服务器本身访问它,我不能安全地这样做,所以我可以' t登录。
好吧,在实际服务器上,我可以将https://localhost/phpmyadmin 塞入浏览器并接受不安全连接警告,但在 LAN 上使用另一台计算机 (https://server-name/phpmyadmin) 时这不起作用。我并不热衷于让外部可以访问 phpmyadmin,即使有密码保护。
有没有办法在 LAN 上建立安全连接,或者我是否需要某种方法来免除 /phpmyadmin 文件夹的 SSL 要求?是否可以仅对 LAN 连接执行此操作?
【问题讨论】:
【参考方案1】:您必须使用在证书生成期间提供为 CN
或 SAN
的相同主机名访问 URL。
由于您想使用 localhost
在本地访问应用程序,并且任何 CA 都不会签署您的具有 CN
值 localhost
的证书,因此您需要使用针对 localhost
生成的 slef 签名证书并导入到您的密钥库。
针对 localhost 生成自签名证书的命令:
openssl req -x509 -out localhost.crt -keyout localhost.key \ -newkey rsa:2048 -nodes -sha256 \ -subj '/CN=localhost' -extensions EXT -config
Here 是同一篇文章。
【讨论】:
以上是关于为 localhost 和 LAN 连接设置 SSL的主要内容,如果未能解决你的问题,请参考以下文章