【发布时间】:2020-07-04 11:06:30
【问题描述】:
我一直在尝试使我的本地基于 Xampp 的网站正确地为我们的本地 Intranet 系统使用 SSL。
Windows 版:Windows Server 2016 标准版
XAMPP 版本 7.4.1
PHP 版本 7.4.1
HTTP 端口:8080
SSL 端口:4443
我遵循了 Apache 教程,它使用 Xampp 的 Openssl 版本为 SSL 创建必要的证书。
https://community.apachefriends.org/viewtopic.php?f=16&t=77006&sid=e0291bc38dd9b562cd74e5f72153c1f7#
这些步骤使未加密版本启动并运行:
- 主机文件:添加“127.0.0.1 www.site.local”
- httpd.conf:添加“监听:8080”
- httpd.conf:添加“服务器名称 www.site.local:8080”
现在,我创建 ssl root ca 和证书请求:
- 创建私钥“openssl genrsa -out myrootca.key 4096”
- 创建根证书“openssl req -new -x509 -days 1826 -key myrootca.key -out myrootca.crt
- 创建域证书“openssl genrsa -out www.site.local.key 2048”
- 创建签名请求“openssl req -new -sha256 -key www.site.local.key -out www.site.local.csr -sha256”
- 创建证书,使用我的根 CA 签名“openssl x509 -req -days 360 -in www.site.local.csr -CA myrootca.crt -CAkey myrootca.key -CAcreateserial -out www.site.local.crt - sha256"
- 我将这些证书和密钥放在了它们各自的路径中:
- C:/xampp/apache/conf/ssl.crt/www.site.local.crt
- C:/xampp/apache/conf/ssl.key/www.site.local.key
(设置文件“httpd-ssl”以合并这些证书)
Listen 4443
<VirtualHost default:4443>
# General setup for the virtual host
ServerAdmin admin@example.com
DocumentRoot "C:/xampp/htdocs/site_intranet/"
ServerName www.site.local:4443
ServerAlias www.site.local
ErrorLog "C:/xampp/apache/logs/error.log"
TransferLog "C:/xampp/apache/logs/access.log"
SSLEngine on
SSLCertificateFile "C:/xampp/apache/conf/ssl.crt/www.site.local.crt"
SSLCertificateKeyFile "C:/xampp/apache/conf/ssl.key/www.site.local.key"
(将 ROOT CA 导入浏览器和 Windows) - 作为受信任的 CA 导入到 Windows:检查 - 火狐浏览器:检查
问题:所有访问 www.site.local 的尝试(通过任一端口)都会导致来自 Firefox 的“不安全”警告。
我已尝试检查 Apache 错误以获取一些指导。它运行良好。
我得到的唯一 Firefox 错误是“该网站不提供所有权信息。”
我知道您不能再只放入一个基本证书,但我希望首先构建一个根 CA,然后从中设计证书将提供启用 SSL 所需的信任链。我在这里错过了一些简单的东西吗?
有人要求我提供一些本地安全的东西,而无需任何第三方来源的证书。必须在本地进行一些工作。
【问题讨论】:
标签: php apache ssl openssl xampp