Ispmanager не работает редирект
Доброго времени суток!
Еще в 4 версии панели ISP Manager была проблема с циклической переадресацией: если клиент хотел, чтобы его сайт открывался исключительно по 443 порту (https), он не мог добиться этого без помощи тех. поддержки хостинга, а тех. поддержка хостинга в свою очередь не могла добиться этого, не прибегая к ручному изменению конфига nginx.
Всё это было, на сколько я помню из-за того, что ISP Manager 4 изначально создаёт только 1 секцию server для домена, поэтому, такой код в .htaccess:
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]
Приводил к циклической переадресации. Еще давно я создавал подобную тему, где спрашивал об этом: http://forum.ispsystem.com/ru/showthread.php?t=25021
В 4 версии server в конфиге nginx для домена создается один для 443 и 80 порта. Поэтому редирект «зацикливается».
В пятой версии панели проблема решена.
Но как видно, проблема всё еще существует?
Или я что-то делаю не так? Если да, то что нужно переделать?
Вообще, было бы неплохо сделать обычную галочку в разделе редактирования WWW-домена — «Использовать только протокол https», ну или вроде того. Если галочка поставлена, то панель сама подправит конфиг как надо, сделает редирект и домен будет работать всегда на 443 порту. Не все пользователи смогут разобраться в правилах .htaccess, для них удобнее обычная галочка.
Правильное правило от Google у меня не приводит к циклическим переадресациям:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %
RewriteRule ^(.*)$ https://site.tld/$1 [R=301,L]
kysil, спасибо за ответ!
Однако, у меня и с Вашими правилами происходит циклическая переадресация.
Забыл указать, что сейчас у меня ISP Manager 5 Business на Debian 7 x86_64
Вроде-бы ничего особенного нету в конфигах. Прикладываю их
#user ‘user10’ virtual host ‘example.com’ configuration file
server <
server_name example.com www.example.com;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/user10/data/www/example.com;
ssi on;
access_log /var/www/httpd-logs/example.com.access.log ;
error_log /var/www/httpd-logs/example.com.error.log notice;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/user10/*.conf;
location / <
location
* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|av i|zip|gz|bz2?|rar|swf)$ <
try_files $uri $uri/ @fallback;
>
location / <
try_files /does_not_exists @fallback;
>
location
[^/]\.ph(p\d*|tml)$ <
try_files /does_not_exists @fallback;
>
>
location @fallback <
error_log /dev/null crit;
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://127.0.0.1:8080 /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Secret 123123;
>
listen 77.77.77.77:80;
>
server <
server_name example.com www.example.com;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/user10/data/www/example.com;
ssi on;
access_log /var/www/httpd-logs/example.com.access.log ;
error_log /var/www/httpd-logs/example.com.error.log notice;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/user10/*.conf;
location / <
location
* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|av i|zip|gz|bz2?|rar|swf)$ <
try_files $uri $uri/ @fallback;
>
location / <
try_files /does_not_exists @fallback;
>
location
[^/]\.ph(p\d*|tml)$ <
try_files /does_not_exists @fallback;
>
>
location @fallback <
error_log /dev/null crit;
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://127.0.0.1:8080 /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Secret 123123;
>
listen 77.77.77.77:443;
ssl on;
ssl_certificate /var/www/httpd-cert/user10/example.com.crt;
ssl_certificate_key /var/www/httpd-cert/user10/example.com.key;
>
#user ‘user10’ virtual host ‘example.com’ configuration file
ServerName example.com
include /etc/apache2/vhosts-resources/user10/vhost.conf
include /etc/apache2/vhosts-resources/user10/php5_module.conf
CustomLog /var/www/httpd-logs/example.com.access.log combined
ErrorLog /var/www/httpd-logs/example.com.error.log
AddDefaultCharset off
AssignUserID user10 user10
DirectoryIndex index.html index.php
DocumentRoot /var/www/user10/data/www/example.com
ServerAdmin webmaster@example.com
ServerAlias www.example.com
ScriptAlias /cgi-bin/ /var/www/user10/data/www/example.com/cgi-bin/
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
php_admin_value sendmail_path «/usr/sbin/sendmail -t -i -f webmaster@example.com»
php_admin_value upload_tmp_dir «/var/www/user10/data/mod-tmp»
php_admin_value session.save_path «/var/www/user10/data/mod-tmp»
php_admin_value open_basedir «/var/www/user10/data:.»
Options +ExecCGI
php_admin_flag engine on
Конечно будет зацикливаться. Вот смотрите, что получается по вашему конфигу:
приходит запрос на 80 порт, согласно правилась в nginx, он проксируется на apache на 8080 порт. Дальше срабатывает ваш редирект, который перекидывает на 443 порт.
Приходим опять к nginx, но уже по 443 порту, согласно конфигу проксируем запрос на apache на 8080 порт. и опять по кругу..
Настройте редирект в nginx , а не в apache.
Источник
WWW-перенаправления
WWW-перенаправление служит для проксирования HTTP и HTTPS запросов к WWW-доменам между узлами кластера. Применяется панелью при переносе пользователя с одного узла кластера на другой при смене IP-адреса WWW-домена для устранения периода недоступности сайта, когда изменения в записях DNS еще не распространились по всем серверам DNS и доменное имя сайта транслируется в IP-адрес сервера, на котором сайт был расположен до переноса.
Технически проксирование запросов организовано конфигурированием HTTP-сервера nginx на узле кластера, где сайт располагался до переноса. Конфигурационный файл вида proxy.имя_домена.conf располагается в стандартном каталоге конфигурационных файлов nginx (обычно /etc/nginx/conf.d/)
WWW-перенаправление имеет срок действия, по истечении которого автоматически удаляется. Проверка и удаление перенаправлений с истекшим сроком выполняется в мастер-панели при вызове функции API periodic (выполняется по расписанию)
Создание WWW-перенаправления
Чтобы создать WWW-перенаправление, нажмите кнопку «Создать» и заполните следующую форму:
- Узел — имя узла кластера, откуда запросы будут перенаправляться
- Доменное имя — доменное имя, для которого будет выполняться перенаправление
- Псевдонимы — укажите псевдонимы (другие имена, поддомены) доменного имени, для которых будет выполняться перенаправление
- IP-адрес назначения — укажите IP-адрес сервера, который обслуживает доменное имя в настоящий момент. IP-адрес может быть не назначен ни одному узлу кластера.
- Действует до — укажите дату, часы и минуты окончания срока действия перенаправления. По окончании срока действия перенаправление будет удалено автоматически.
- Комментарий — любой текст для заметок.
Источник
Редирект через панель управления
Редирект (перенаправление) можно настраивать через хостинг-панели. Каждая панель управления веб-хостингом REG.RU имеет инструмент для добавления редиректа.
Чтобы добавить в ISPmanager редирект, следуйте инструкции ниже:
Перейдите в раздел WWW-домены и выберите домен, для которого хотите настроить редирект:
В панели сверху кликните по разделу Редиректы:
Нажмите кнопку Создать:
В открывшемся окне настроек выберите тип редиректа в графе Код, введите символ «/» в графе Путь и адрес назначения полностью (вместе с http:// или https://) в графе URL. Нажмите ОК, чтобы сохранить изменения:
В разделе «Домены» выберите пункт Перенаправления:
Выберите тип редиректа, в выпадающем списке выберите домен и пропишите адрес назначения редиректа (вместе с http:// или https://):
Через панель управления Plesk перенаправление можно задать только при добавлении домена. Если вам необходим редирект с уже добавленного домена, воспользуйтесь статьями Редирект через .htaccess или Редирект через web.config.
Во вкладке Сайты и домены выберите пункт Добавить домен:
- в поле Имя домена введите имя домена, для которого необходимо настроить перенаправление;
- выберите Тип хостинга: Перенаправление;
- Конфигурация DNS-сервера выберите Активировать службу DNS:
- в поле Конечный адрес введите URL-адрес, на который необходимо перенаправлять посетителей;
- выберите Тип перенаправления: Стандартное перенаправление или Перенаправление во фрейме:
Источник
Редирект через панель управления
Редирект — автоматическое перенаправление с одной страницы на другую. Например, если настроить редирект с site1.ru на site2.ru, пользователи, которые будут вводить в адресную строку браузера site1.ru, сразу попадут на сайт site2.ru. Постоянный 301 редирект на хостинге 2domains настраивается двумя способами: в панели управления ISPmanager и через конфигурационный файл .htaccess. В этой статье мы рассмотрим, как настроить в панели управления ISPmanager редирект.
Для чего можно использовать редирект
Редирект используют чаще всего, если сайт переехал на другой домен. Редирект поможет избежать ошибки 404, сохранить посетителей и поисковую позицию.
Как настроить редирект в ISPmanager
Убедитесь, что домен добавлен в панели управления: Как добавить домен в панели управления?
Ниже разберём пример, как настроить редирект с сайта test2d.ru на site.ru:
Перейдите в панель управления хостингом ISPmanager.
Перейдите в раздел «WWW-домены», кликните по домену, с которого будет происходить перенаправление, и нажмите Редиректы:
Нажмите на открывшейся странице Создать:
в поле “Код” выберите тип редиректа (301 — постоянный; 302 — временный; 303 — другое);
в поле «Путь» введите «/» (слеш);
в поле «URL» введите адрес, на который будет осуществляться перенаправление (полностью с http:// или https://). Если вы используете IDN-домен (например: сайт.рф), пропишите его в формате Punycode. Для этого вы можете использовать Punycode-конвертер.
Нажмите Ok, чтобы сохранить.
Источник
Ispmanager не работает редирект
Есть новостной сайт, который месяц назад получил сертификат SSL от Комодо. Настроили на ISP Manager 5 SSL и редирект через .htaccess. Через месяц, когда все склеилось и проиндексироваль решили вернуться на http. C этого момента начались проблемы.
Оказалось, что в ISP Manager 5 невозможно настроить редирект с https на http. Поддержка хостера также не может помочь.
При этом редирект 301 успешно работает если его перенести на хостинг не использующий ISP
Может ли кто-то из спецов помочь в этом вопросе.
Сайт на работает на Joomla, Режим работы PHP — CGI
Apache MPM-ITK 2.4.6-31.el7.centos.1 , Apache PHP module 5.4.16-36.el7_1 , awstats 7.3-2.el7 , logrotate 3.8.6-4.el7 , nginx 1.8.0-1.el7.centos.ngx
Обратно на http, потому что с https перестал заходить быстробот. Новостной сайт где новости появляются каждый день (около 20) индексируется раз в неделю. Вернулись на http и статьи начали индексироваться через 10 минут. Плюс некоторые биржи ссылок не работают с сайтами на https.
По поводу настроек.
2407
Вот конф.файл nginx’a, что писать там даже не представляю т.к. раньше всегда настраивал через .htaccess
#user ‘imvise’ virtual host ‘site.com’ configuration file
server <
server_name site.com www.site.com;
charset UTF-8;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/imvise/data/www/site.com;
access_log /var/www/httpd-logs/site.com.access.log ;
error_log /var/www/httpd-logs/site.com.error.log notice;
include /etc/nginx/vhosts-includes/*.conf;
location / <
location
* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|av i|zip|gz|bz2?|rar|swf)$ <
try_files $uri $uri/ @fallback;
>
location / <
try_files /does_not_exists @fallback;
>
location
[^/]\.ph(p\d*|tml)$ <
try_files /does_not_exists @fallback;
>
>
location @fallback <
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://127.0.0.1:8080 /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
access_log off ;
>
listen 185.154.13.146:80;
>
server <
server_name site.com www.site.com;
charset UTF-8;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/imvise/data/www/site.com;
access_log /var/www/httpd-logs/site.com.access.log ;
error_log /var/www/httpd-logs/site.com.error.log notice;
include /etc/nginx/vhosts-includes/*.conf;
location / <
location
* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|av i|zip|gz|bz2?|rar|swf)$ <
try_files $uri $uri/ @fallback;
>
location / <
try_files /does_not_exists @fallback;
>
location
Источник