The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Nginx rewrite "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"Nginx rewrite "  +/
Сообщение от Нубби on 10-Янв-14, 13:55 
Нужно чтобы при обращении к http://внеш_ip:8081/чегототам/123 был произведено обращение к http://внутр_ip:8081/чегототам/123 и произведена перезапись соответствующих заголовков.

Сейчас при обращении http://внеш_ip:8081/чегототам/123 происходит вывод в браузере
http://внутр_ip:8081/чегототам/123

Конфигу nginx почти не трогал:
cat /etc/nginx/nginx.conf
user nginx nginx;
worker_processes 1;

error_log /var/log/nginx/error_log info;

events {
        worker_connections 1024;
        use epoll;
}

http {
        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        log_format main
                '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $bytes_sent '
                '"$http_referer" "$http_user_agent" '
                '"$gzip_ratio"';

        client_header_timeout 10m;
        client_body_timeout 10m;
        send_timeout 10m;

        connection_pool_size 256;
        client_header_buffer_size 1k;
        large_client_header_buffers 4 2k;
        request_pool_size 4k;

        gzip on;
        gzip_min_length 1100;
        gzip_buffers 4 8k;
        gzip_types text/plain;

        output_buffers 1 32k;
        postpone_output 1460;

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;

        keepalive_timeout 75 20;

        ignore_invalid_headers on;

        index index.html;

server {
        listen внеш_ip:8081;
        server_name внеш_ip;
        location = /    {
                rewrite ^ http://внутр_ip:8081/;
                proxy_pass         http://внутр_ip:8081/;
                proxy_redirect     off;
                        }
        access_log /var/log/nginx/localhost.access_log main;
                error_log /var/log/nginx/localhost.error_log info;

#               root /var/www/localhost/htdocs;
   }
      
}

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

Оглавление

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


7. "Nginx rewrite "  +/
Сообщение от PavelR (ok) on 11-Янв-14, 08:57 
>         location = /  

Читайте документацию по location.

>            
>     rewrite ^ http://внутр_ip:8081/;

Эта директива - полный бред.
Читайте документацию по rewrite.

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

8. "Nginx rewrite "  +/
Сообщение от Mila (??) on 12-Янв-14, 02:20 
Вижу в вашем конфиге полнейшее непонимание что вы делаете. Ну ничего.
Зачем вам директива proxy_pass непонятно. И зачем такое перенаправление вообще??? Ваш внутренний адрес из "мира" вы не увидите.
Вобщем, если вам нужно просто перенаправлять запросы на другой адрес, то лучше 2 серверных блока. Типа этого

server {
listen EXTERNAL_IP:80;
server_name www.blabla.com;
return 301 $scheme://INERNAL_IP$request_uri;
}

server {
        listen INTERNAL_IP:80;

     .....
}

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

9. "Nginx rewrite "  +/
Сообщение от PavelR (ok) on 12-Янв-14, 19:10 
>[оверквотинг удален]
> лучше 2 серверных блока. Типа этого
> server {
> listen EXTERNAL_IP:80;
> server_name www.blabla.com;
> return 301 $scheme://INERNAL_IP$request_uri;
> }
> server {
>         listen INTERNAL_IP:80;
>      .....
> }

не-не не. Это не правильный скелет конфига.

Топикстартеру нужно просто правильно настроить проксирование (proxy_pass).
Для этого нужно постепенно разобраться с директивой location {}, убрать весь crap, и усложнять конфиг постепенно по мере роста потребностей, а не лепить непонятные равно и rewrite.


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

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

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




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

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