为本地主机和 LAN 连接设置 SSL

Setting up SSL for localhost and LAN connections

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

好吧,在实际服务器上我可以卡住 https://localhost/phpmyadmin into the browser and accept the insecure connection warning, but that doesn't work when using a different computer on the LAN (https://server-name/phpmyadmin)。我对让外部可以访问 phpmyadmin 并不疯狂,即使有密码保护。

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

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

由于您想使用 localhost 在本地访问应用程序,并且任何 CA 都不会签署具有 CNlocalhost 的证书,因此您需要使用生成的 slef 签名证书针对 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")

Here 是一篇关于相同内容的文章。