Nginx: местоположение regex не работающий

я добираюсь, проблема с моим regex не знают что не так с ним. это возвращает URi с orls/f вместо orls/f?p=4550. Когда я передаю https://secure.toto02.com/orls/myservice/f?p=4550

мой conf файл ниже

 location ~ "^/([a-zA-Z]+)/myservice/(.+)$" {

    error_log  /var/log/nginx/error-server.log notice;
    rewrite_log on;  

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


    proxy_pass http://192.168.3.45:8080/orls/$2;    
    proxy_redirect http://192.168.3.45:8080/orls/ https://secure.toto02.com/$1/myservice/ ;          
}   

Кто-либо может помочь?

0
задан 7 April 2015 в 21:03
1 ответ

При захвате местоположения строка запроса не попадает. Вы должны вручную включить его через переменные $ is_args и $ args , например:

proxy_pass http://192.168.3.45:8080/orls/$2$is_args$args;

См. Ответ @ kolbyjack (гораздо лучше): https://stackoverflow.com / questions / 8130692 / with-nginx-how-to-forward-query-parameters

2
ответ дан 4 December 2019 в 13:51

Теги

Похожие вопросы