centos – 如何使用动态配置的质量虚拟主机进行加密

前端之家收集整理的这篇文章主要介绍了centos – 如何使用动态配置的质量虚拟主机进行加密前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一台服务器配置为使用Apach 2.4动态配置的vhosts.我为某些域配置了SSL但我被要求使用Let的加密免费服务为所有域提供SSL.

Certbot对我来说有点不清楚,因为我不确定它是否适用于动态虚拟主机.

我的挑战是我在子域subXXX.masterdomain.com和别名yourchoicedomain.com上提供了每个域名,因此我需要生成获取证书表格让我们的加密有效

> subXXX.masterdomain.com
> www.subXXX.masterdomain.com
> yourchoicedomain.com
> www.yourchoicedomain.com

我没有一个非常复杂的vhosts配置文件我使用符号链接实现域别名和www服务器别名.

<VirtualHost *:80>
    #ServerName masterdomain.me
    #ServerAlias *
    # get the server name from the Host: header
    UseCanonicalName Off
    # include the server name in the filenames used to satisfy requests
    VirtualDocumentRoot "/var/www/vhosts/%0/httpdocs"

    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTPS} off
    RewriteRule .* http://www.%{HTTP_HOST}$0 [R=301,L]

    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTPS} on
    RewriteRule .* https://www.%{HTTP_HOST}$0 [R=301,L]

    <Directory "/var/www/vhosts/*/httpdocs">
        AllowOverride "All"
        Options SymLinksIfOwnerMatch
        Require all granted
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

让我入门的任何帮助都会很棒.

由于certbot无法确定Apache配置中的活动域名,因此您需要解决这个问题.

因为在mod vhost alias中存在一个子目录就是“激活”域名我会建议一个简单的shell脚本枚举所有子目录(=所有活动域),然后使用--webroot选项运行certbot来创建以下行的内容

certbot certonly --webroot -w var/www/vhosts/www.example.com/httpdocs -d www.example.com -d example.com -w var/www/vhosts/www.example.net/httpdocs -d www.example.net -d other.example.net
原文链接:https://www.f2er.com/centos/373403.html

猜你在找的CentOS相关文章