HTTPS请求仅向www子域发出问题

时间:2016-09-29 10:09:29

标签: apache ssl https

我将Apache配置为提供HTTPS请求并将所有HTTP请求重定向到HTTPS。但...

对于https://www.example.com,Web浏览器只是挂起,Apache在日志中没有显示任何内容,没有错误,没有访问。我甚至不确定这是一个Apache问题,我有点迷失。任何提示?

我的SSL证书有CN example.com,我的Apache配置文件是:

<VirtualHost *:80>
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot ...
        Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost _default_:443>
        ServerName example.com
        ServerAlias www.example.com

        DocumentRoot ...    
        SSLEngine on
        ...    
</VirtualHost>

1 个答案:

答案 0 :(得分:0)

Gandi's doc says如果您要激活单地址证书,如果您使用裸域创建CSR(例如example.com),则CA子域将由CA自动添加,例如,example.com将保护example.com和www.example.com。反之亦然,如果您使用www子域创建CSR,则裸域也将是安全的。

我碰巧生成了一个www.example.com作为公共名称,但无论文档说什么是自动的,我都确保在.cnf中包含用于生成OpenSSL的alt名称CSR与:

[ req ]
default_md = sha256
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
prompt = no
string_mask = utf8only
distinguished_name = host_distinguished_name
req_extensions = host_extensions

[ host_distinguished_name ]
commonName = www.example.com
stateOrProvinceName = Somewhere
countryName = US
emailAddress = root@example.com
organizationName = ACME

[ host_extensions ]
subjectAltName = @alt-names
basicConstraints = CA:false

[ alt-names ]
DNS.1 = www.example.com
DNS.2 = example.com

使用以下代码在某些Debian上生成私钥和CSR;

$ subject=www.example.com
$ openssl genrsa -out ${subject}.key 2048
$ openssl req -config ${subject}.cnf -new -key ${subject}.key -out ${subject}.csr