gpt4 book ai didi

ssl - 具有多个域的通配符 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:06 26 4
gpt4 key购买 nike

我有一个 CentOS/Apache+OpenSSL 服务器。我托管了两个带有通配符子域的域名(应用程序逻辑显示正确的站点),例如

https://*.testing1.com

https://*.testing2.com

它在 HTTP 上运行良好:-

   <VirtualHost *:80>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin webmaster@testing1.com
ServerName testing1.com
ServerName testing2.com

ServerAlias *.testing1.com *.testing2.com

# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /home/app/public_html/public

</VirtualHost>

我已经为 testing1.com 和 testing2.com 购买了两个通配符 SSL 证书,但我不确定如何在此结构中设置它:-

    <VirtualHost *.testing1.com:443>
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/*.testing1.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/*.testing1.com.key
SSLCACertificateFile /etc/httpd/ssl/geotrust.cer

ServerAdmin john@testing1.com
ServerName testing1.com
ServerAlias *.testing1.com

DirectoryIndex index.html index.php
DocumentRoot /home/app/public_html/public

</VirtualHost>

<VirtualHost *.testing2.com:443>
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/*.testing2.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/*.testing2.com.key
SSLCACertificateFile /etc/httpd/ssl/geotrust.cer

ServerAdmin john@testing2.com
ServerName testing2.com
ServerAlias *.testing2.com

DirectoryIndex index.html index.php
DocumentRoot /home/app/public_html/public

</VirtualHost>

上面的 SSL 不起作用,无论是*.testing1.com 定义,还是 testing1.com。

我还需要为 testing2.com 重复这个

最佳答案

基于名称的虚拟主机和 SSL 仅在所有虚拟主机都在同一域内并且您拥有该域的通配符 SSL 证书时才有效。

但是您有 2 个不同的域。

在这种情况下,只有当您为每个启用 SSL 的虚拟主机提供它自己的 IP 地址时,它才会起作用。因此,您应该使用基于 IP 的虚拟主机,而不是基于名称的虚拟主机。

解释:请求的 ServerName 包含在 HTTP 请求 header 中,但在此之前必须已经设置 SSL 加密。因此 ServerName 仅在设置加密后可用。因此,Apache 永远不知道提供哪个 SSL 证书,只会使用该特定 IP 地址上可用的第一个证书。

关于ssl - 具有多个域的通配符 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13322987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com