powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / nginx редиректы
18 сообщений из 18, страница 1 из 1
nginx редиректы
    #38845098
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Подскажите пожалуйста, как прописать редиректы например если заходим /manager то делаем редирект на https:// если на все другие ссылки по https:// то делаем редирект на http:// как такое прописать ?
...
Рейтинг: 0 / 0
nginx редиректы
    #38846178
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как че-то посложнее спросить так и тишина )))
...
Рейтинг: 0 / 0
nginx редиректы
    #38846519
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишу вот так, циклическая переадресация когда на /manager пытаешься зайти, в чем причина ?

location ^~ /manager {
if ($scheme = http) {
return 301 https://$host$request_uri;
}
break;
}




location / {
if ($scheme = https) {
return 301 http://$host$request_uri;
}
}
...
Рейтинг: 0 / 0
nginx редиректы
    #38846558
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если схема https и ресурс не начинается с /manager - ответить кодом перенаправления.
...
Рейтинг: 0 / 0
nginx редиректы
    #38846564
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, так вот хочу пример, напишите поажлуйста
...
Рейтинг: 0 / 0
nginx редиректы
    #38846591
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Если схема https и ресурс не начинается с /manager
как это описать ?
...
Рейтинг: 0 / 0
nginx редиректы
    #38846629
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
елси пишут вот так один локейшен то все работает, если 2 локейшена то здесь циклическая переадресация, но зато c https работает

location ^~ /manager {
if ($scheme = http) {
return 301 https://$host$request_uri;
}
try_files $uri $uri/ @backend;
}
...
Рейтинг: 0 / 0
nginx редиректы
    #38846637
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЕсли схема https и ресурс не начинается с /manager - ответить кодом перенаправления.
а теперь тоже самое только на языке nginx
...
Рейтинг: 0 / 0
nginx редиректы
    #38846887
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loginovruкак это описать ?В одной директиве location путём вложения условных операторов или составным условием в одном условном операторе.
...
Рейтинг: 0 / 0
nginx редиректы
    #38846895
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл нужные части документации nginx.
Без проверки и гарантий работоспособности:
Код: plaintext
1.
rewrite http\:\/\/(.*\/manager.*)  https://$1  permanent
rewrite https\:\/\/(.*\/)^(manager.*)  http://$1$2  permanent
...
Рейтинг: 0 / 0
nginx редиректы
    #38846902
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум, вторая регулярка неправильна, но (мне) думать дальше уже (давно) лень.
...
Рейтинг: 0 / 0
nginx редиректы
    #38846916
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если, всё-таки, читать документацию, то получается, что можно и так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
http {
  server {
    listen 443 ssl
    location /manager { }
    location / { return  http://$host/$uri  }
  }
  server {
    listen 80
    location /manager { return  https://$host/$uri  }
    location / { }
  }
}

P.S. В общем, всё как обычно: кто хочет - ищет возможности, кто не хочет - ищет причины молчания форумчан.
...
Рейтинг: 0 / 0
nginx редиректы
    #38846934
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЕсли, всё-таки, читать документацию, то получается, что можно и так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
http {
  server {
    listen 443 ssl
    location /manager { }
    location / { return  http://$host/$uri  }
  }
  server {
    listen 80
    location /manager { return  https://$host/$uri  }
    location / { }
  }
}

P.S. В общем, всё как обычно: кто хочет - ищет возможности, кто не хочет - ищет причины молчания форумчан.

давай конфиг, приведу попробуешь в него это вставить, я вставлял у меня циклическая переадресация
...
Рейтинг: 0 / 0
nginx редиректы
    #38846935
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот конфиг с прописанным редироктом для manager, а теперь нужно в него дописать, чтобы все остальное делало редирект на http:// с https:// прошу специалисты!

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
#user 'user' virtual host 'domain.me' configuration file
server {
        server_name domain.me www.domain.me;
        charset UTF-8;
        disable_symlinks if_not_owner from=$root_path;
        index index.html index.php;
        root $root_path;
        set $root_path /home/user/data/www/domain.me;
        ssi on;
        access_log /home/httpd-logs/domain.me.access.log ;
        error_log /home/httpd-logs/domain.me.error.log notice;
        include /etc/nginx/vhosts-includes/*.conf;

        location /manager {
          if ($scheme = http) {
                return 301 https://$host$request_uri;
                            }
                                }
        location / {
                location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|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 GeBJ20wa6DzIiPCK;
                access_log off ;
        }
        listen 1.2.3.4:80;
}
server {
        server_name domain.me www.domain.me;
        charset UTF-8;
        disable_symlinks if_not_owner from=$root_path;
        index index.html index.php;
        root $root_path;
        set $root_path /home/user/data/www/domain.me;
        ssi on;
        access_log /home/httpd-logs/domain.me.access.log ;
        error_log /home/httpd-logs/domain.me.error.log notice;
        include /etc/nginx/vhosts-includes/*.conf;


        location / {
                location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|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 GeBJ20wa6DzIiPCK;
                access_log off ;
        }
        listen 1.2.3.4:443;
        ssl on;
        ssl_certificate /var/www/httpd-cert/user/domain.me.crt;
        ssl_certificate_key /var/www/httpd-cert/user/domain.me.key;
}
...
Рейтинг: 0 / 0
nginx редиректы
    #38847002
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loginovruдавай конфиг, приведу попробуешь в него это вставитьЕсли кто-то захочет сделать вашу работу, то в соседнем топике вы сможете узнать, сколько это будет стоить.
...
Рейтинг: 0 / 0
nginx редиректы
    #38847367
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovloginovruдавай конфиг, приведу попробуешь в него это вставитьЕсли кто-то захочет сделать вашу работу, то в соседнем топике вы сможете узнать, сколько это будет стоить.

я спрашивал, почему не работает с этим конфигом ?
...
Рейтинг: 0 / 0
nginx редиректы
    #38847373
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне апцалютно пофик почему не работает с вашим конфигом.
Хотите, чтобы в нём кто-то ковырялся - идите в работу.

P.S. Преждевременная оптимизация - корень всех зол. А вы ещё и неквалифицированной паранойей страдаете.
...
Рейтинг: 0 / 0
nginx редиректы
    #38847482
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovМне апцалютно пофик почему не работает с вашим конфигом.
Хотите, чтобы в нём кто-то ковырялся - идите в работу.

P.S. Преждевременная оптимизация - корень всех зол. А вы ещё и неквалифицированной паранойей страдаете.

да это вы неквалифицированной параноей страдаете, а по существу так и не ответили на мой вопос! а то что вы взяли пример из документации по nginx так это любой дурак может ))))
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / nginx редиректы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]