Fry*_*wow 11 apache ssl dynamic ssl-certificate sni
我把头发拉到这里.像wix.com,squarespace.com等网站; 可以动态生成网站,并且仍然在数百万个自定义域中的每一个上使用SSL.
我尝试做同样的事情,但我无法弄清楚他们是如何做到的!
Apache的逻辑解决方案是:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAlias *
UseCanonicalName Off
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/%0/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/%0/server.key
</VirtualHost></IfModule>
Run Code Online (Sandbox Code Playgroud)
但是当我重新启动apache时出现错误:SSLCertificateFile:文件'/etc/apache2/ssl/%0/server.crt'不存在或为空
即使我创建一个虚拟文件夹/ ssl /%0 /带有一些虚拟证书......它仍然使用(错误的)虚拟证书.
我知道有些人会在他们的高马上大喊大叫,你不能在TLS握手之前解析服务器名称.但根据这篇文章和其他文章:%0可以用mod_vhost_alias解决,因为服务器名称是用SNI发送的...
我知道这很有效:第二种方法是为每个自定义域创建一个虚拟主机:
<VirtualHost *:443>
ServerName site111.ca
ServerAlias www.site111.ca
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile "/var/app/s3/ssl/site111.ca/certificate.crt"
SSLCertificateKeyFile "/var/app/s3/ssl/site111.ca/certificate.key"
SSLCertificateChainFile "/var/app/s3/ssl/site111.ca/certificate.chain"
</VirtualHost><VirtualHost *:443>
ServerName site222.ca
ServerAlias www.site222.ca
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile "/var/app/s3/ssl/site222.ca/certificate.crt"
SSLCertificateKeyFile "/var/app/s3/ssl/site222.ca/certificate.key"
SSLCertificateChainFile "/var/app/s3/ssl/site222.ca/certificate.chain"
Run Code Online (Sandbox Code Playgroud)
我可以创建一个脏系统,每个新域添加一个虚拟主机,每天重新加载apache Eeewwww ......再次:Apache将虚拟主机的数量限制为256:/
他们是如何做到的呢!?还有其他技术可以帮助我吗?Nginx,Nodejs?感谢您的时间.
我尝试做同样的事情,但我不明白他们是如何做到的!?
为了动态生成 SSL 网站,他们使用 Letsencrypt 证书颁发机构,您可以自行检查(例如:CN = www.thefoodmarketchiswick.com)。但对于以 .wix.com 名称托管的网站,它们只是使用通配符证书 ( CN = *.wix.com )。到那时,很容易。
第二个问题,正如您提到的,Apache 无法处理如此大规模的托管(并且没有人相信您可以在一台服务器上托管数百万个应用程序)。看看这个Netcraft 调查,它提供了一些线索。我无法回答他们,但运行 openssl s_client 会出错,这意味着他们没有做非常合规的事情。
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |