我使用以下方法创建了一个具有自签名证书的临时站点:
mkdir /etc/ssl/wildcard.yourdomain.com
cd /etc/ssl/wildcard.yourdomain.com/
openssl genrsa 2048 > host.key
openssl req -new -x509 -nodes -sha1 -days 3650 -key host.key > host.cert
openssl x509 -noout -fingerprint -text < host.cert > host.info
cat host.cert host.key > host.pem
chmod 400 host.key host.pem
sudo a2enmod ssl
sudo service apache2 restart
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/ssl/wildcard.yourdomain.com/host.pem
SSLCertificateKeyFile /etc/ssl/wildcard.yourdomain.com/host.key
(从http://blog.justin.kelly.org.au/how-to-create-self-signed-wildcard-ssl-certificates-for-apache/)
我遇到的问题是 *.yourdomain.com 处于挂起状态。
我设立
ServerAlias www.yourdomain.com
也
ServerName yourdomain.com
当我导航到“yourdomain.com”时,它可以按预期工作。
但是当我输入:https://www.yourdomain.comchromium 在右下角显示“正在建立安全连接”,
我启用了 mod_ssl 调试级别日志记录,但当我使用 键入 url 时,没有任何记录www
。我的最终目标是重定向www
到我的根域https://yourdomain.com。 任何帮助将不胜感激。
我正在使用 namecheap 的免费动态 DNS:
Hostname, IPADDRESS URL, RECORD TYPE, TTL
@ m.y.i.p A Address 1800
www https://yourdomain.com URL Redirect 1800
SUb Domain SEttings:
* https://yourdomain.com URL Redirect 1800
对于子域名设置,我也尝试过https://*.yourdomain.com
谢谢
答案1
DNS 提供商的名称服务器中的 URL 重定向配置不适用于 SSL。
这种重定向的实现实际上意味着提供商在该名称上配置了一个 A 记录,该记录指向他们的服务器,然后发送 HTTP 重定向。
发送重定向的服务器无法获得您域名的有效 SSL 证书,因此它们仅监听 HTTP - HTTPS 连接将始终失败。
您的服务器需要直接为名称提供 HTTPS 连接www
(然后如果需要则发送重定向) - 将名称记录更改www
为A
或CNAME
指向您的服务器(如果是CNAME
,则将其指向yourdomain.com.
)。