Ad Widget

Collapse

Очень легкий вопрос. "Редирект".

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Odil_tal
    Member
    • Jul 2016
    • 60

    #1

    Очень легкий вопрос. "Редирект".

    Доброго времени суток.
    Никак не получается сделать редирект с http на https.
    Создал файл .htaccess по адресу: /usr/share/zabbix/.htaccess и в нём прописал следующее:
    RedirectMatch /http://192.168.1.2/zabbix/ /https://192.168.1.2/zabbix/
    Пробовал и другие варианты, типа:
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/192.168.1.2/zabbix\.php$
    RewriteCond %{QUERY_STRING} ^index=([0-9]+)$
    RewriteRule ^192.168.1.2/index\.php$ https://192.168.1.2/zabbix [L,R=301]

    Что посоветуете?
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3406

    #2
    Если речь идёт про Апач, то у меня успешно работает такая конструкция в его конфиге (в моём случае файл zabbixtest.conf лежит в /etc/apache2/vhosts.d/):
    Code:
    <VirtualHost zabbixtest.mycompany.lv:80>
        ServerName zabbixtest.mycompany.lv
        #Permanently redirect to HTTPS
        Redirect permanent / https://zabbixtest.mycompany.lv/
        ErrorLog /var/log/apache2/zbx-error_log
        CustomLog /var/log/apache2/zbx-access_log   combined
    </VirtualHost>
    
    <IfDefine SSL>
    <IfDefine !NOSSL>
    
    ##
    ## SSL Virtual Host Context
    ##
    
    <VirtualHost zabbixtest.mycompany.lv:443>
    [тут секция для HTTPS: DocumentRoot, ServerName, настройки SSL и т.д.]
    </VirtualHost>
    
    </IfDefine>
    </IfDefine>

    Comment

    • Odil_tal
      Member
      • Jul 2016
      • 60

      #3
      Дело в том, что ОС у нас Centos7 rhell.
      Папки Apache тут нету. Конфигурационный файл находится по адресу:
      /etc/httpd/conf/httpd.conf
      Файл .htaccess должен находится в каталоге сайта. Я создал его в папке \ ucr\ share\ zabbix\ .htaccess (по умолчанию его там не было).
      В файле прописал: //301 редирект
      Redirect 301 http:// 192.168.1.2/ zabbix https:// 192.168.1.2/ zabbix/
      Чтобы файл .htaccess заработал, необходимо сделать следующее:
      в файле httpd.conf изменить параметр "AllowOverride none" на "AllowOverride All".
      Перегрузил сервер Apache, но всё равное редирект не происходит. Может файл .htaccess в другом месте надо создать?

      Comment

      • Odil_tal
        Member
        • Jul 2016
        • 60

        #4
        Редирект не происходит.

        Пробовал настроить редирект на Zabbix.
        1. В файле /etc/httpd/conf/httpd.conf
        <Directory /var/www/html>
        ...
        AllowOverride All (изменил None на All)
        ...
        </Directory>
        2. Перезапустил Apache.
        3. Создал файл /var/www/html/.htaccess
        4. Перепробовал 7 вариантов редиректа:
        Вариант 1
        RewriteCond %{HTTPS} =off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

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

        Вариант 3
        RewriteCond %{ENV:HTTPS} !on
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

        Вариант 4
        RewriteCond %{HTTP:X-HTTPS} !1
        RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

        Вариант 5
        RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
        RewriteRule ^(.*)$ https://zabbix555/zabbix/$1 [L]

        Вариант 6
        RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
        RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

        Вариант 7
        RewriteCond %{HTTP:X-Forwarded-Proto} !https
        RewriteCond %{HTTPS} off
        RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

        Ни один не сработал. Подскажите, что я делаю не так?
        OS - Centos7

        Comment

        Working...