2014-01-13 4 views
4

У меня есть nginx на порту 80 и tomcat на порту 8080, настроенный как вверх по течению.nginx url переписать для обратного прокси

Приложение для войны в tomcat прослушивает/pwm.

Я хотел бы настроить nginx на обратный прокси-сервер для tomcat и переписать URL-адрес «/» на «/ pwm».

пример: пользователь "web.noc.local" в браузере и Nginx переписывает URL в web.noc.local/ШИМ и перенаправляет к коту на порту 8080.

мой Nginx конфигурации:

upstream pwm_server { 
    server 127.0.0.1:8080 fail_timeout=0; 
} 

server { 
    listen  80; 
    server_name web.noc.local;  
    access_log /var/log/nginx/log/web.noc.local.access.log main; 
    error_log /var/log/nginx/log/web.noc.local.error.log;  
    location/{ 
     if ($is_args != "") { 
      rewrite "^$" /pwm break; 
      expires  7d; 
      proxy_pass http://pwm_server; 
     }   
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr;  
     proxy_max_temp_file_size 0;  
     proxy_buffering off; 
     proxy_connect_timeout 30; 
     proxy_send_timeout 30; 
     proxy_read_timeout 30; 
     proxy_pass http://pwm_server; 
    } 
} 

теперь, когда я открываю URL-адрес, ничего не происходит, только пустой экран.

thx для справки.

ответ

3

Хорошо, я нашел решение для меня:

location/{ 
    rewrite^http://web.noc.local/pwm/ last; 
} 

location /pwm { 

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 

    proxy_max_temp_file_size 0;  
    proxy_buffering off; 
    proxy_connect_timeout 30; 
    proxy_send_timeout 30; 
    proxy_read_timeout 30; 
    proxy_pass http://pwm_server; 
} 
Смежные вопросы