Назад | Перейти на главную страницу

предотвращение «недействительного сертификата безопасности» (ssl_error_bad_cert_domain) при использовании поддомена, перенаправленного на динамическое доменное имя DNS

Я искал в Google и до сих пор не нашел страницу, которая бы касалась моей ситуации, что странно, потому что я уверен, что это пытались тысячи, если не миллионы, раз прежде.

Я хочу размещать сайты разработки у себя дома, чтобы клиенты могли протестировать их, прежде чем мы развернем их в любом виде хостингового решения, которое они хотят для производства. Вот что я использую:

Все это отлично работает, но теперь я хочу использовать https для всех своих поддоменов, поэтому я купил подстановочный сертификат (хотите верьте, хотите нет, сертификат плюс динамический DNS работает на 36-41% дешевле. чем ежемесячная плата, которую мой интернет-провайдер взимает за один фиксированный IP-адрес), и я успешно установил его, используя соответствующие директивы SSLCertificate * в тегах VirtualHost.

Проблема в том, что браузер жалуется на ненадежное соединение, потому что, несмотря на так называемое «маскирование», он по-прежнему понимает, что оно перенаправляется через динамический домен DNS.

    foobar.dnsalias.net:8081 uses an invalid security certificate.

    The certificate is only valid for the following names:
    *.mydomain.com , mydomain.com  

    (Error code: ssl_error_bad_cert_domain)

Я думал, что могу использовать некоторые директивы mod_rewrite, но либо я не нашел правильную комбинацию шаблонов и флагов RewriteCond и RewriteRule, либо я неправильно понимаю, что происходит с «пересылкой с маскированием».

    RewriteEngine on
    RewriteCond %{HTTP_HOST} foobar.dnsalias.net [NC]
    RewriteRule ^(.*) https://dev1.mydomain.com:8081/$1 [P]

Может кто-нибудь объяснить, как это сделать?

Короче говоря, это не сработает.

Ваш динамический DNS-провайдер отвечает HTTP-перенаправлением с dev1.mydomain.com на адрес foobar.dnsalias.net:8081; это единственный способ перенаправления на основе заголовка HTTP Host и одновременного изменения номера порта.

Единственный способ, который я могу придумать, - это записать CNAME something.mydomain.com в foobar.dnsalias.net и настроить обратный прокси-сервер для трафика сервера с соответствующего сервера разработки.

Таким образом, когда ваш клиент (Acme Incorporated) запускает https://acme.mydomain.com, DNS преобразуется непосредственно в ваш динамический IP-адрес (через CNAME), и ваш обратный прокси-сервер будет видеть заголовок хоста как «acme.mydomain.com». Затем он может перейти на dev2.mydomain.com, чтобы получить соответствующий контент.