【发布时间】:2019-12-21 07:47:59
【问题描述】:
我在运行 Mac OS 10.14.6 的 2012 年中期 Mac mini 上运行 Apache 2.4.34 (Unix),并将这台机器用作个人网络服务器。
当我在 httpd.conf 中取消注释“#Include /private/etc/apache2/extra/httpd-vhosts.conf”时,我的浏览器告诉我它无法连接到服务器,即我的 Mac mini,因为两者都没有“localhost”也不使用域名“www.ocetacea.net”。
我关注了
https://www.ssl.com/how-to/csr-generation-in-macos-keychain-access/
安装我的 SSL 证书和
https://www.ssl.com/how-to/ssl-tls-installation-macos-mojave/#apache
修改httpd.conf和httpd-vhosts.conf。
我的 /private/etc/apache2/extra/httpd-vhosts.conf 目前看起来像:
<VirtualHost *:443>
DocumentRoot "/Library/WebServer/Documents"
ServerName ocetacea.net
SSLEngine on
SSLCertificateFile "/private/etc/apache2/ocetacea.crt"
SSLCertificateKeyFile "/private/etc/apache2/ocetacea.key"
SSLCertificateChainFile "/private/etc/apache2/ocetacea_bundle.crt"
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName ocetacea.net
SSLEngine on
SSLCertificateFile "/private/etc/apache2/ocetacea.crt"
SSLCertificateKeyFile "/private/etc/apache2/ocetacea.key"
SSLCertificateChainFile "/private/etc/apache2/ocetacea_bundle.crt"
</VirtualHost>
sudo apachectl 配置测试
结果:
语法正常
和
sudo apachectl -k 重启
似乎在做我想做的事,即启动服务器。
我担心的是我没有正确安装 SSL 证书。
/private/etc/apache2/ocetacea.crt
开头
-----开始证书-----
以
结尾-----结束证书-----
同时
/private/etc/apache2/ocetacea.key
开头:
-----开始 RSA 私钥--
以
结尾-----结束 RSA 私钥-----
和
/private/etc/apache2/ocetacea_bundle.crt
开头:
-----开始 RSA 私钥--
并以:
结尾-----结束 RSA 私钥-----
这不是我所期望的——我希望这三个文件之一以类似的开头
-----开始 RSA 公钥--
并以
结尾-----结束 RSA 公钥----
但这是我第一次尝试设置安全服务器,所以我真的不知道。
任何帮助将不胜感激。
我的 system.log 内容如下:
系统日志重复以下内容:
8 月 14 日 18:40:55 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd):服务只运行了 0 秒。将重生时间推迟 10 秒。
8 月 14 日 18:41:06 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd[18660]): Service exited with exception code: 1
8 月 14 日 18:41:06 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd):服务只运行了 0 秒。将重生时间推迟 10 秒。
8 月 14 日 18:41:16 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd[18667]): Service exited with exception code: 1
【问题讨论】:
-
文件名和扩展名并不重要。它们只是为人类提供便利。但是,顾名思义,
ocetacea_bundle.crt应该是一个证书序列,并且不应该包含任何密钥,无论是私有的还是公共的。询问您购买证书的公司以帮助您并获得正确的捆绑文件。 -
Patrick,我已经确定 >ocetacea_bundle.crt 是捆绑包而不是键,我仍然得到相同的结果。但感谢您让我知道这是个问题。
-
你说“和 /private/etc/apache2/ocetacea_bundle.crt 以:-----BEGIN RSA PRIVATE KEY-----”开头,我说这是错误的,只是基于假设为方便起见,名为“bundle.crt”的文件应包含证书列表,因此以 -----BEGIN CERTIFICATE----- 开头并以 -----END CERTIFICATE--- 结尾-- 中间没有任何公钥或私钥。
-
“无法连接到服务器”不是很清楚。你有错误信息吗?如果有,是哪一个?而是超时?等等。
-
Safari 只是说“Safari 无法连接到服务器 'localhost'”和“Safari 无法连接到服务器 'www.ocetace.net'”。