Ubuntu - проблемы с защитой * .mydomain.com и * .sub.mydomain.com с использованием разных сертификатов - PullRequest
0 голосов
/ 02 октября 2019

Я только что добавил поддомен на свой сайт и пытаюсь заставить работать SSL. Ранее у меня был SSL, работающий на example.net и www.example.net с использованием сертификата namespace.com.

С субдоменом все не совсем работает.

Вот что у меня естьв записях DNS:

CNAME: www.sub.example.net is an alias of example.net

A:     sub.example.net  directs to IP

CNAME: www.example.net is an alias of example.net   

A:     example.net directs to IP

Вот мой conf файл example.net:

<VirtualHost *:80>
   ServerName example.net
   Redirect permanent / https://example.net/
</VirtualHost>
<VirtualHost *:443>
  ServerName example.net
  DocumentRoot "/var/www/example/public"
  <Directory "/var/www/example/public">
    AllowOverride all
  </Directory>
SSLEngine on
SSLCertificateKeyFile /root/example.net.key
SSLCertificateFile /root/example.net.crt
SSLCertificateChainFile /root/example.net.ca-bundle
</VirtualHost>

И мой файл conf sub.example:

<VirtualHost *:80>
        ServerName sub.example.net
        ServerAlias www.sub.example.net
        DocumentRoot /var/www/sub.example
        Redirect permanent / https://sub.example.net/
</VirtualHost>

<VirtualHost *:443>
ServerName sub.example.net
ServerAlias www.sub.example.net
DocumentRoot /var/www/sub.example
SSLCertificateFile /etc/letsencrypt/live/sub.example.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sub.example.net/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Если яперейдите к sub.example.net и www.sub.example.net, тогда все в порядке.

Если перейти к example.net, все будет в порядке.

Однако, когда я перехожу к www.example.net, я получаю сообщение об ошибкесертификат действителен только для sub.example.net и *.sub.example.net.

Так что по какой-то причине www перед example.net заставляет apache не смотреть на сертификат подстановочного знака namespace.com, который я имею дляexample.net.

Теперь я создал сертификаты субдоаминов с помощью

sudo certbot certonly --manual -d *.sub.example.net -d sub.example.net --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

У меня такое ощущение, что у меня есть странная комбинация настроек apache conf и записей DNS, которые вызывают это поведение. Есть идеи, что я сделал не так?

спасибо, Брайан

1 Ответ

1 голос
/ 02 октября 2019

Так что по какой-то причине www перед example.net заставляет apache не смотреть на сертификат подстановки namespace.com, который есть у меня для example.net.

Вы неДля ServerAlias ​​определено значение www.example.net, что означает, что он не сможет найти точное соответствие для имени домена. В этом случае он использует первый из ваших виртуальных хостов в конфигурации, в зависимости от того, что в вашем случае.

...