apache - 为 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 连接执行此操作吗?
解决方案
您必须使用在证书生成期间CN
或期间提供的相同主机名访问 URL 。SAN
由于您想使用本地访问应用程序localhost
并且任何 CA 都不会签署您的具有CN
value的证书,因此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")
这是一篇关于相同的文章。
推荐阅读
- html - Bootstrap 嵌套布局(一列 2 列)
- django - Angular 8 - 对 json 文件的 GET 请求问题
- r - 在具有替换倾向匹配的 2:1 最近邻之后(使用 MatchIt) - 如何分析非正态分布的连续变量?
- php - 通过编码更改保留重音字符
- python - 来自def的Jsonify在python中返回空
- python - ModuleNotFoundError:没有名为“py_geo_nearby”的模块
- javascript - 如何在 puppeteer 上等待消失微调器?
- python - 如何使用 requests.post python 模块登录网站
- javascript - 如何通过 ReactJs 将巨大的 Json 转换为数组
- python - 如何使用beautifulsoup仅提取文本?