The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Редирект в nginx определенных файлов (js, jpg) с http на https "
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (nginx)
Изначальное сообщение [ Отслеживать ]

"Редирект в nginx определенных файлов (js, jpg) с http на https "  +/
Сообщение от nicksonet email(ok) on 07-Ноя-16, 11:44 
Коллеги, добрый день!
Столкнулся с необходимостью отдавать файлы js и jpg по прямой ссылке не в зависимости от  протокола (https/https).
Редирект https -> http настроен следующим образом:
server {
# listen http and https
    listen              80;
    listen              443;

server_name  site.ru  www.site.ru;

...
if ($host != 'site.ru' ) {  rewrite ^(.*)$ http://site.ru$1 permanent; } # unknow hosts
    if ($server_port != 80 ) {  rewrite ^(.*)$ http://site.rum$1 permanent; } # https -> http
    rewrite ^/(.*)/$ /$1 permanent; # all

Коллеги, пожалуйста, как можно осуществить отдачу файлов js и jpg по прямой ссылке не в зависимости от  протокола.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Редирект в nginx определенных файлов (js, jpg) с http на https "  +/
Сообщение от PavelR (??) on 07-Ноя-16, 15:43 
как только у вас возникает желание написать в конфиге nginx условие if, знайте, вы делаете что-то неправильно.

Прочитайте документацию по директивам location и rewrite.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Редирект в nginx определенных файлов (js, jpg) с http на https "  +/
Сообщение от nicksonet email(ok) on 08-Ноя-16, 13:19 
> как только у вас возникает желание написать в конфиге nginx условие if,
> знайте, вы делаете что-то неправильно.
> Прочитайте документацию по директивам location и rewrite.

Спасибо. Обязательно почитаю, но пока решил таким (multiple conditions https://gist.github.com/jrom/1760790)способом:

    # rewrites
    if ($host != 'site.ru' ) {  rewrite ^(.*)$ http://site.ru$1 permanent; } # unknow hosts

    # https -> http, but not js and images
    if ($server_port != 80) {
        set $redir Y;
    }
    if ($uri ~* \.(js|gif|png|jpg)$) {
        set $redir N;
    }
    if ($redir = Y) {
            rewrite ^(.*)$ http://site.ru$1 permanent;
    }

Все файлы с указанным расширением доступны по запрашиваемому протоколу. Может такой костыль кому-нбдь пригодится.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру