Перенаправить субдомен на субдомен в HTTPS с Apache2 [дубликат]

У меня есть эти поддомены:

link.domain.com
links.domain.com

Я хочу перенаправить домен link.domain.com на links.domain.com . Для этого я использовал тот же метод, что описан здесь: Перенаправить субдомен на субдомен Apache2 , и он работает.

Я установил сертификат TLS для links.domain.com с помощью Let's Encrypt, и я могу получить полный доступ к links.domain.com по HTTPS. Я хочу, чтобы перенаправление с link.domain.com на links.domain.com также было эффективным в HTTPS.

Вот мой файл conf:

<IfModule mod_ssl.c>
   <VirtualHost *:443>
      DocumentRoot /var/www/links/
      ServerName links.domain.com

      <Directory "/var/www/links/">
         Options Indexes MultiViews FollowSymLinks
         AllowOverride None
         Order deny,allow
         Allow from all
      </Directory>

      ErrorLog ${APACHE_LOG_DIR}/error_links.log
      CustomLog ${APACHE_LOG_DIR}/access_links.log combined 

      # Possible values include: debug, info, notice, warn, error, crit,
      # alert, emerg.
      LogLevel warn

      SSLCertificateFile /etc/letsencrypt/live/links.domain.com/fullchain.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/links.domain.com/privkey.pem
      Include /etc/letsencrypt/options-ssl-apache.conf
   </VirtualHost>
</IfModule>

Я уже пробовал следующее:

  • Добавление

    ServerAlias ​​link.domain.com RedirectMatch постоянный ^ link.domain.com /(.*)$ https://links.domain.com/$1

    после строки ServerName links.domain.com .

  • Добавление

    ServerName link.domain.com RedirectMatch постоянный ^ / (. *) $ Https://links.domain.com/$1 { {1}}

    до и после уже определенного VirtualHost.

Никто не работал.

Есть идеи?

0
задан 9 May 2017 в 17:47
1 ответ

Вам необходимо иметь конфигурацию SSL в обоих VirtualHost s, и RedirectMatch не требуется. Попробуйте:

<IfModule mod_ssl.c>
   <VirtualHost *:443>
      ServerName link.example.com

      SSLCertificateFile /etc/letsencrypt/live/links.example.com/fullchain.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/links.example.com/privkey.pem
      Include /etc/letsencrypt/options-ssl-apache.conf

      Redirect / https://links.example.com/
   </VirtualHost>
</IfModule>

Обратите внимание, что вы все равно получите сообщение об ошибке TLS NET :: ERR_CERT_COMMON_NAME_INVALID , если у вас также нет link.example.com в Альтернативе темы Название вашего сертификата.

0
ответ дан 5 December 2019 в 08:12

Теги

Похожие вопросы