我在运行 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 configtest
结果:
Syntax OK
和
sudo apachectl -k restart
似乎在做我想做的事,即启动服务器。
我担心的是我没有正确安装 SSL 证书。
/private/etc/apache2/ocetacea.crt
开始于
-----BEGIN CERTIFICATE-----
以
结尾-----END CERTIFICATE-----
同时
/private/etc/apache2/ocetacea.key
开始于:
-----BEGIN RSA PRIVATE KEY-----
以
结尾-----END RSA PRIVATE KEY-----
和
/private/etc/apache2/ocetacea_bundle.crt
开始于:
-----BEGIN RSA PRIVATE KEY-----
结束于:
-----END RSA PRIVATE KEY-----
这不是我所期望的——我希望这三个文件之一以类似的内容开头
-----BEGIN RSA PUBLIC KEY-----
结束于
-----END RSA PUBLIC KEY----
但这是我第一次尝试设置安全服务器,所以我真的不知道。
如有任何帮助,我们将不胜感激。
我的 system.log 显示:
系统日志重复以下内容:
Aug 14 18:40:55 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Aug 14 18:41:06 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd[18660]): Service exited with abnormal code: 1
Aug 14 18:41:06 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Aug 14 18:41:16 jnorrisMM com.apple.xpc.launchd[1] (org.apache.httpd[18667]): Service exited with abnormal code: 1
最佳答案
如果您取消注释“#Include/private/etc/apache2/extra/httpd-vhosts.conf”这一行并且您的服务器在端口 80 上工作,那么您不需要端口 80 的第二个 VirtualHost conf,因为它已经配置在一些文件。此外,您不需要添加 SSL Engine ON 和证书。
清除此后,您应该关注您的证书。您有 2 个证书和 1 个 key (私钥)与您的 1 个证书相匹配,用于保护服务器。
此文件/private/etc/apache2/ocetacea_bundle.crt 是 bundle ,其中可能包含超过 1 个证书而不是 key 。
配置看起来不错,而且你几乎已经完成了,因为语法没问题。还要确保在外部访问之前在防火墙中打开端口 443。
最好的问候
关于macos - 如何重写 httpd-vhosts.conf 以允许 SSL 连接到私有(private) Web 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57500014/