gpt4 book ai didi

apache - 我可以为我的所有 VirtualHost 使用单个 SSLCertificateFile 而不是为每个 VirtualHost 创建一个吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:42 24 4
gpt4 key购买 nike

我有许多 Apache VirtualHosts,我为每个虚拟主机使用专用的 SSLCertificateFile。

这是一个 VirtualHost 的配置示例:

<VirtualHost *:443>

ServerName subdomain.domain.localhost

DocumentRoot "/Users/<my_user_name>/Sites/users/public"
RackEnv development

<Directory "/Users/<my_user_name>/Sites/users/publ`enter code here`ic">
Order allow,deny
Allow from all
</Directory>

# SSL Configuration
SSLEngine on

#Self Signed certificates
SSLCertificateFile /private/etc/apache2/ssl/server.crt
SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
SSLCertificateChainFile /private/etc/apache2/ssl/ca.crt

</VirtualHost>

因为我正在使用 Passenger Preference Pane 维护更多 Ruby on Rails 应用程序,这是 apache2 httpd.conf 文件的一部分:

<IfModule passenger_module>
NameVirtualHost *:80
<VirtualHost *:80>
ServerName _default_
</VirtualHost>
Include /private/etc/apache2/passenger_pane_vhosts/*.conf
</IfModule>

我可以为所有 VirtualHost 使用一个 SSLCertificateFile(我听说过通配符)而不是为每个 VirtualHost 创建一个吗?如果是这样,我如何更改上面列出的文件?

最佳答案

所以你有两件事要解决;如何获得适用于所有主机的证书 (pub/priv) - 然后接下来 - 如何安排虚拟主机和战略包含的使用。 (我在这里忽略了 SNI 选项 - 不过请仔细阅读)。

对于第一个 - 您大致有三个选项 - 一个通配符证书(即 *.foo.bar.com),一个在 DN 中具有多个 CN 的证书(例如“CN=foo.com, CN=bar.com, L=London..") 或具有 1 个或多个包含 DNS 名称的主题备用名称的证书 (http://playnice.ly/blog/2011/01/03/multi-domain-ucc-ssl-certificates-on-nginx -with-1-ip-address/).当您只有少数虚拟主机时,后两者很好(但它们可以有任何名称;因此没有通配符限制)。当您拥有 10 到 100 个域时,通配符是您唯一的选择 - 但缺点是它们必须具有相似的叶名称(尽管您会惊讶于意外发布 *.com 是多么“容易” ).

一旦您拥有其中之一 - 只需将其包含在服务器级别即可。

接下来是如何从那里拼接东西 - 你在这里需要的是与 SNI 主机相同的设置(参见文档或 http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI)。

为了让您的生活更轻松 - 您可以考虑使用“包含”片段 - 或者,最坏的情况是,使用一个小的 shell 脚本生成配置(或者全力以赴 - 您可以包含 perl 及其“虚拟”生成的输出苍蝇!)。

数据。

关于apache - 我可以为我的所有 VirtualHost 使用单个 SSLCertificateFile 而不是为每个 VirtualHost 创建一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4595313/

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