我在尝试在 Zend Server CE for OSX 上设置 SSL (https) 时遇到了一个奇怪的问题。目前我正在运行 Zend Server 5.5。
$ sudo zendctl.sh version
Password:
Zend Server version: 5.5.0
我使用此在正确的目录中创建了一个自签名证书:
$ openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt \
> -days 365 -nodes
我已经在 httpd.conf 中取消了这一项的注释:
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
我将其添加到我的 httpd-vhost.conf 文件中:
NameVirtualHost *:80
NameVirtualHost *:443
这些是我的站点的 vhost 配置(我尝试使用一个目录来处理 SSL 和端口 80 请求):
<VirtualHost *:80>
DocumentRoot /usr/local/zend/apache2/htdocs/mydomain.com
ServerName mydomain.local
AllowEncodedSlashes On
</VirtualHost>
#this is the HTTPS version
<VirtualHost mydomain.local:443>
DocumentRoot /usr/local/zend/apache2/htdocs/mydomain.com
ServerName mydomain.local:443
AllowEncodedSlashes On
</VirtualHost>
当我尝试使用以下方式在浏览器(FF)中加载该网站时https://mydomain.local/我明白了:
连接中断 页面加载时与 mydomain.local 的连接中断。
所以我尝试使用 openssl 命令:
$ openssl s_client -connect mydomain.local:443
CONNECTED(00000003)
20743:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:/SourceCache/OpenSSL098/OpenSSL098-35.1/src/ssl/s23_clnt.c:607:
此外,我可以通过以下方式访问该网站:http://我的域名.local:443但不是 https。
这个错误是什么意思?为什么我无法使用 HTTPS 加载我的网站?
答案1
您需要在 :443 上为您的 VHost 设置 SSL...
SSLEngine On
SSLCertificateFile /path/to/crt.crt
SSLCertificateKeyFile /path/to/key.key