Редирект на HTTPS (PHP-FPM + Nginx) Topic is solved
-
- Posts: 172
- Joined: Tue Jan 28, 2014 10:11 am
Редирект на HTTPS (PHP-FPM + Nginx)
Как настроить редирект на HTTPS для сервера с PHP-FPM + Nginx.
1) Добавил домен
2) Получил на него SSL через панель для папки public_html
3) Пробовал кидать в нее html страницы и CMS, автоматически не открывается старница с https://
На CMS ModX - сайт получает httpS://, только при переходе по ссылкам сайта.
.htaccess - пробовал менять - не помогло.
БагТрекер - https://bugs.vestacp.com/issues/640
1) Добавил домен
2) Получил на него SSL через панель для папки public_html
3) Пробовал кидать в нее html страницы и CMS, автоматически не открывается старница с https://
На CMS ModX - сайт получает httpS://, только при переходе по ссылкам сайта.
.htaccess - пробовал менять - не помогло.
БагТрекер - https://bugs.vestacp.com/issues/640
Re: Редирект на HTTPS (PHP-FPM + Nginx)
А причём здесь .htaccess?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 работает только с апачем.Можете уже выкинуть его.
Тут все правила пишутся в конфиг nginx.
У меня с коробочки на дефолтных конфигах практически всё работало.А остальное уже ручками.Писать лучше в инклюде а не прямо в конфиге никса иначе при ребилде веб конфиг затрет на дефолтный.Ну или в темлейтах сделать себе свой отдельный шаблон.Я себе шаблон делал,не люблю в инклюдах писать.
-
- Posts: 172
- Joined: Tue Jan 28, 2014 10:11 am
Re: Редирект на HTTPS (PHP-FPM + Nginx)
Обычно и у меня все работало из коробки, но как собрал новый сервер все перестало(yariksat wrote: ↑Fri Mar 30, 2018 6:59 pmА причём здесь .htaccess?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 работает только с апачем.Можете уже выкинуть его.
Тут все правила пишутся в конфиг nginx.
У меня с коробочки на дефолтных конфигах практически всё работало.А остальное уже ручками.Писать лучше в инклюде а не прямо в конфиге никса иначе при ребилде веб конфиг затрет на дефолтный.Ну или в темлейтах сделать себе свой отдельный шаблон.Я себе шаблон делал,не люблю в инклюдах писать.
Шаблон собственный хочу сделать, да пока ищу как и не знаю, будет ли в нем смысл вообще.
Re: Редирект на HTTPS (PHP-FPM + Nginx)
Ну так я так понимаю что с PHP-FPM + Nginx Вы впервые столкнулись?Metallurg.IT wrote: ↑Fri Mar 30, 2018 7:35 pmОбычно и у меня все работало из коробки, но как собрал новый сервер все перестало(
Шаблон собственный хочу сделать, да пока ищу как и не знаю, будет ли в нем смысл вообще.
Ибо не знаете что .htaccess тут не работает совершенно,ибо он работает только с апачем.
Свой шаблон нужно делать в темплейтах.
-
- Posts: 49
- Joined: Tue Nov 08, 2016 11:33 pm
- Os: CentOS 6x
- Web: nginx + php-fpm
Re: Редирект на HTTPS (PHP-FPM + Nginx)
редирект на https без www можно прописать так, в шаблоне nginx домена
Code: Select all
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ https://$host_without_www$1 permanent;
}
-
- Posts: 172
- Joined: Tue Jan 28, 2014 10:11 am
Re: Редирект на HTTPS (PHP-FPM + Nginx)
Использую давно, а вот шаблоны подвели в первые и пришлось знакомиться.yariksat wrote: ↑Fri Mar 30, 2018 8:42 pmНу так я так понимаю что с PHP-FPM + Nginx Вы впервые столкнулись?Metallurg.IT wrote: ↑Fri Mar 30, 2018 7:35 pmОбычно и у меня все работало из коробки, но как собрал новый сервер все перестало(
Шаблон собственный хочу сделать, да пока ищу как и не знаю, будет ли в нем смысл вообще.
Ибо не знаете что .htaccess тут не работает совершенно,ибо он работает только с апачем.
Свой шаблон нужно делать в темплейтах.
Re: Редирект на HTTPS (PHP-FPM + Nginx)
Может быть меня ввело в заблуждение то что Вы не знаете что .htaccess на этой связке не работает....Metallurg.IT wrote: ↑Sat Mar 31, 2018 10:06 amИспользую давно, а вот шаблоны подвели в первые и пришлось знакомиться.
-
- Posts: 172
- Joined: Tue Jan 28, 2014 10:11 am
Re: Редирект на HTTPS (PHP-FPM + Nginx)
Итак.
Ночные изыскания привели к решению устраивающему меня на данный момент. Оно может являться костылем и не могу советовать его, а так же буду рад если внесете критику и правки.
Мой пример рассматривается на примере шаблона MODx - но куски кода аналогичны и для других шаблонов.
На данный момент у меня работает редирект на HTTPS://domain.ru при вводе domain.ru и www.domain.ru.
Я не понял до конца, есть ли работа с SSL портом, так что наверное у меня банально по домену редирект происходит.
Копируем файл cp modx.tpl modx-https.tpl
Редактируем файл nano modx-https.tpl
Копируем файл cp modx.tpl modx-https.stpl
Редактируем файл nano modx-https.stpl
Не забываем выбрать новый шаблон в редактировании домена и "Пересоздать WEB".!
P.S. В редакторе nano
Сохранить Ctrl+O потом Ctrl+X
Удалить всю строчку Ctrl+K
Жду критику и исправления.
Ночные изыскания привели к решению устраивающему меня на данный момент. Оно может являться костылем и не могу советовать его, а так же буду рад если внесете критику и правки.
Мой пример рассматривается на примере шаблона MODx - но куски кода аналогичны и для других шаблонов.
На данный момент у меня работает редирект на HTTPS://domain.ru при вводе domain.ru и www.domain.ru.
Я не понял до конца, есть ли работа с SSL портом, так что наверное у меня банально по домену редирект происходит.
Code: Select all
cd /usr/local/vesta/data/templates/web/nginx/php-fpm/
Редактируем файл 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 {" ВСЕ НИЖЕ СТАНДАРТНО #################
Редактируем файл 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 {" ВСЕ НИЖЕ СТАНДАРТНО #################
P.S. В редакторе nano
Сохранить Ctrl+O потом Ctrl+X
Удалить всю строчку Ctrl+K
Жду критику и исправления.