Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Веб сервер
  • Search

Редирект на HTTPS (PHP-FPM + Nginx) Topic is solved

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Post Reply
  • Print view
Advanced search
8 posts • Page 1 of 1
Metallurg.IT
Posts: 172
Joined: Tue Jan 28, 2014 10:11 am

Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by Metallurg.IT » Fri Mar 30, 2018 4:54 pm

Как настроить редирект на HTTPS для сервера с PHP-FPM + Nginx.

1) Добавил домен
2) Получил на него SSL через панель для папки public_html
3) Пробовал кидать в нее html страницы и CMS, автоматически не открывается старница с https://

На CMS ModX - сайт получает httpS://, только при переходе по ссылкам сайта.

.htaccess - пробовал менять - не помогло.

БагТрекер - https://bugs.vestacp.com/issues/640
Top

yariksat
Posts: 551
Joined: Sat Nov 19, 2016 5:39 pm

Os: CentOS 4x
Web: apache
Re: Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by yariksat » Fri Mar 30, 2018 6:59 pm

Metallurg.IT wrote: ↑
Fri Mar 30, 2018 4:54 pm
Как настроить редирект на HTTPS для сервера с PHP-FPM + Nginx.

1) Добавил домен
2) Получил на него SSL через панель для папки public_html
3) Пробовал кидать в нее html страницы и CMS, автоматически не открывается старница с https://

На CMS ModX - сайт получает httpS://, только при переходе по ссылкам сайта.

.htaccess - пробовал менять - не помогло.

БагТрекер - https://bugs.vestacp.com/issues/640
А причём здесь .htaccess?
.htaccess работает только с апачем.Можете уже выкинуть его.
Тут все правила пишутся в конфиг nginx.
У меня с коробочки на дефолтных конфигах практически всё работало.А остальное уже ручками.Писать лучше в инклюде а не прямо в конфиге никса иначе при ребилде веб конфиг затрет на дефолтный.Ну или в темлейтах сделать себе свой отдельный шаблон.Я себе шаблон делал,не люблю в инклюдах писать.
Top

Metallurg.IT
Posts: 172
Joined: Tue Jan 28, 2014 10:11 am

Re: Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by Metallurg.IT » Fri Mar 30, 2018 7:35 pm

yariksat wrote: ↑
Fri Mar 30, 2018 6:59 pm
Metallurg.IT wrote: ↑
Fri Mar 30, 2018 4:54 pm
Как настроить редирект на HTTPS для сервера с PHP-FPM + Nginx.

1) Добавил домен
2) Получил на него SSL через панель для папки public_html
3) Пробовал кидать в нее html страницы и CMS, автоматически не открывается старница с https://

На CMS ModX - сайт получает httpS://, только при переходе по ссылкам сайта.

.htaccess - пробовал менять - не помогло.

БагТрекер - https://bugs.vestacp.com/issues/640
А причём здесь .htaccess?
.htaccess работает только с апачем.Можете уже выкинуть его.
Тут все правила пишутся в конфиг nginx.
У меня с коробочки на дефолтных конфигах практически всё работало.А остальное уже ручками.Писать лучше в инклюде а не прямо в конфиге никса иначе при ребилде веб конфиг затрет на дефолтный.Ну или в темлейтах сделать себе свой отдельный шаблон.Я себе шаблон делал,не люблю в инклюдах писать.
Обычно и у меня все работало из коробки, но как собрал новый сервер все перестало(
Шаблон собственный хочу сделать, да пока ищу как и не знаю, будет ли в нем смысл вообще.
Top

yariksat
Posts: 551
Joined: Sat Nov 19, 2016 5:39 pm

Os: CentOS 4x
Web: apache
Re: Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by yariksat » Fri Mar 30, 2018 8:42 pm

Metallurg.IT wrote: ↑
Fri Mar 30, 2018 7:35 pm
Обычно и у меня все работало из коробки, но как собрал новый сервер все перестало(
Шаблон собственный хочу сделать, да пока ищу как и не знаю, будет ли в нем смысл вообще.
Ну так я так понимаю что с PHP-FPM + Nginx Вы впервые столкнулись?
Ибо не знаете что .htaccess тут не работает совершенно,ибо он работает только с апачем.
Свой шаблон нужно делать в темплейтах.
Top

artscripts
Posts: 49
Joined: Tue Nov 08, 2016 11:33 pm

Os: CentOS 6x
Web: nginx + php-fpm
Re: Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by artscripts » Sat Mar 31, 2018 7:41 am

редирект на https без www можно прописать так, в шаблоне nginx домена

Code: Select all

	if ($host ~* www\.(.*)) {
        set $host_without_www $1;
        rewrite ^(.*)$ https://$host_without_www$1 permanent;
    }
Top

Metallurg.IT
Posts: 172
Joined: Tue Jan 28, 2014 10:11 am

Re: Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by Metallurg.IT » Sat Mar 31, 2018 10:06 am

yariksat wrote: ↑
Fri Mar 30, 2018 8:42 pm
Metallurg.IT wrote: ↑
Fri Mar 30, 2018 7:35 pm
Обычно и у меня все работало из коробки, но как собрал новый сервер все перестало(
Шаблон собственный хочу сделать, да пока ищу как и не знаю, будет ли в нем смысл вообще.
Ну так я так понимаю что с PHP-FPM + Nginx Вы впервые столкнулись?
Ибо не знаете что .htaccess тут не работает совершенно,ибо он работает только с апачем.
Свой шаблон нужно делать в темплейтах.
Использую давно, а вот шаблоны подвели в первые и пришлось знакомиться.
Top

yariksat
Posts: 551
Joined: Sat Nov 19, 2016 5:39 pm

Os: CentOS 4x
Web: apache
Re: Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by yariksat » Sat Mar 31, 2018 10:43 am

Metallurg.IT wrote: ↑
Sat Mar 31, 2018 10:06 am
Использую давно, а вот шаблоны подвели в первые и пришлось знакомиться.
Может быть меня ввело в заблуждение то что Вы не знаете что .htaccess на этой связке не работает....
Top

Metallurg.IT
Posts: 172
Joined: Tue Jan 28, 2014 10:11 am

Re: Редирект на HTTPS (PHP-FPM + Nginx)
  • Quote

Post by Metallurg.IT » Sat Mar 31, 2018 11:04 am

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

Мой пример рассматривается на примере шаблона MODx - но куски кода аналогичны и для других шаблонов.
На данный момент у меня работает редирект на HTTPS://domain.ru при вводе domain.ru и www.domain.ru.
Я не понял до конца, есть ли работа с SSL портом, так что наверное у меня банально по домену редирект происходит.

Code: Select all

cd /usr/local/vesta/data/templates/web/nginx/php-fpm/
Копируем файл cp modx.tpl modx-https.tpl
Редактируем файл nano modx-https.tpl

Code: Select all

server {
    listen      %ip%:%web_port%;
    server_name %domain_idn% %alias_idn%;
    root        %docroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;

#################################################################################################

##  Если нет в адресной строке https:// то делает редирект на https://

        if ($scheme != "https") {
            return 301 https://%domain%$request_uri;
        }

##  Если в адресной строке есть www.domain.ru то делается редирект на https://domain.ru

        if ($host != "%domain%") {
            return 301 https://%domain%$request_uri;
        }

##  Исправляем ошибку MODX: Каталог ядра в открытом доступе

        location /core/ {
            deny all;
        }

#################################################################################################

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
#################### С ЭТОГО КУСКА " location = /favicon.ico {" ВСЕ НИЖЕ СТАНДАРТНО #################
Копируем файл cp modx.tpl modx-https.stpl
Редактируем файл nano modx-https.stpl

Code: Select all

server {
    listen      %ip%:%web_ssl_port%;
    server_name %domain_idn% %alias_idn%;
    root        %sdocroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;

    ssl         on;
    ssl_certificate      %ssl_pem%;
    ssl_certificate_key  %ssl_key%;

#################################################################################################

##  Исправляем ошибку MODX: Каталог ядра в открытом доступе

        location /core/ {
            deny all;
        }

#################################################################################################

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

#################### С ЭТОГО КУСКА " location = /favicon.ico {" ВСЕ НИЖЕ СТАНДАРТНО #################
Не забываем выбрать новый шаблон в редактировании домена и "Пересоздать WEB".!

P.S. В редакторе nano
Сохранить Ctrl+O потом Ctrl+X
Удалить всю строчку Ctrl+K

Жду критику и исправления.
Top


Post Reply
  • Print view

8 posts • Page 1 of 1

Return to “Веб сервер”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password