Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Apache проблема редиректа с http на https  (Прочитано 705 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн klu41k

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Apache проблема редиректа с http на https
« : 29 Сентябрь 2017, 14:55:31 »
Привет Появилась такая задача:

На севере на котором крутиться Apache прикрутить SSL сертификаты для сайта. На сервере крутиться 1 сайт, но на него ссылаються три разных домена: mysite.com, mysite.ru, mysite.pro

Собственно сделал:

default-ssl.conf:


<IfModule mod_ssl.c>
Listen 443
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost

                DocumentRoot /var/www/mysite.landing.page/

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/mysite_com.crt
                SSLCertificateKeyFile /etc/ssl/private/mysite_com.key
                SSLCertificateChainFile /etc/ssl/private/mysite_com.ca-bundle

<FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

                BrowserMatch "MSIE [2-6]" \
                                nokeepalive ssl-unclean-shutdown \
                                downgrade-1.0 force-response-1.0
             
                BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

        </VirtualHost>
</IfModule>

000-default.conf:


<VirtualHost *>
   

        ServerName mysite.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/mysite.landing.page
        <Directory /var/www/mysite.landing.page>

                Options -Indexes +FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>


в корень сайта добавил .htaccess с таким содержанием:


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Заработал редирект c http на https на доменах: mysite.ru, mysite.pro. А на mysite.com не работает, подскажите пожалуйста как решить данную проблему. Спасибо!

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1445
    • Просмотр профиля
Re: Apache проблема редиректа с http на https
« Ответ #1 : 29 Сентябрь 2017, 15:10:39 »
ServerName и ServerAlias в <VirtualHost _default_:443> можно добавить...

Оффлайн klu41k

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: Apache проблема редиректа с http на https
« Ответ #2 : 29 Сентябрь 2017, 15:18:54 »
добавил, не помогло..

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1445
    • Просмотр профиля
Re: Apache проблема редиректа с http на https
« Ответ #3 : 29 Сентябрь 2017, 15:44:43 »
есть несколько примеров:
Цитировать
Вариант 1
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Вариант 2
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Вариант 3
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27443
    • Просмотр профиля
Re: Apache проблема редиректа с http на https
« Ответ #4 : 29 Сентябрь 2017, 20:20:57 »
Всё неверно.

/etc/apache2/sites-available/example.org.conf
<VirtualHost *:443>
    ServerName www.example.org

    SSLEngine on
    …настройки SSL…

    …описание сервера…
</VirtualHost>
<VirtualHost *:443>
    ServerName example.org
    Redirect permanent https://www.example.org/
    SSLEngine on
    …настройки SSL…
</VirtualHost>
<VirtualHost *:80>
    ServerName example.org
    ServerAlias www.example.org
    Redirect permanent https://www.example.org/
</VirtualHost>

Код: Bash
  1. a2ensite example.org.conf
  2. service apache2 restart

Отучайтесь трогать дефолтные окнфиги, это вредно для здоровья.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.291 секунд. Запросов: 24.