我即将对不同的虚拟主机使用不同的ssl证书,因此在开始将其他http证书指令添加到其他server块之前,我首先将现有的ssl指令从server块移到一个server块中。但一旦我这样做,所涉及的web服务器就不能再被访问了。Chrome报告了connection closed和Nginx的错误日志如下:
2016/01/08 20:13:32 [error] 16968#0: *364 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: x
在本例中,域已替换为domain.com
我们的主要问题:当我输入时,我不会被重定向到,我们目前还没有解决这个问题的规则,解决这个问题的最好方法是什么?
根据我们的nginx配置,我们没有为指定443,但是仍然可以访问,为什么呢?
对于domain.com和www.domain.com,我们都有有效的ssl证书。我们没有通配符证书*.domain.com。
我们的配置:
#All non-matching patterns
server
{
listen 80;
#enabling this will cause things to break.
#2015/12/18 09:2
我想我有一个简单的方法。我购买了一个快速SSL,我在我的网站上安装了它。这看起来不错(我有一个密钥文件,中间和最终的crs文件),但有一点混乱: SSL是正确安装在上,但不是在上。
这是我从SSL检查器得到的错误:
Wrong certificate installed.
The domain name does not match the certificate common name or SAN.
我有一台Nginx机器。这是配置文件的一部分:
server {
listen 80; ## listen for ipv4
listen 443 ssl;
set $myHos
我试图使用mod_rewrite或ProxyPass将客户端的请求从443上的虚拟主机A重定向到端口4434上的不同虚拟主机B,也使用SSL。就像这样:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPassMatch ^/vd https://localhost:4434
我尝试使用mod_rewrite的方式如下:
RewriteEngine on
RewriteRule (.*) ht