Próbuję skonfigurować Nginx do proxy przekazać żądanie do innego serwera, tylko wtedy, gdy zmienna $ request_body pasuje do określonego wyrażenia regularnego.warunkowe podanie proxy nginx
Mój problem polega teraz na tym, że nie mam sposobu, aby dokładnie skonfigurować to zachowanie.
Obecnie jestem w dół do tego:
server {
listen 80 default;
server_name test.local;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
if ($request_body ~* ^(.*)\.test) {
proxy_pass http://www.google.de;
}
root /srv/http;
}
}
ale tutaj jest problem, że korzeń ma zawsze upperhand. proxy nie zostanie przekazane w żaden sposób.
jakikolwiek pomysł, w jaki sposób mogę to osiągnąć?
góry dzięki
Czy na pewno chcesz sprawdzić '$ request_body' przeciwko regexp? Spowoduje to spowolnienie Twojej aplikacji xx. Czy chcesz też użyć 'proxy_pass' lub po prostu' przekierowania'? – user973254
tak, nie mam innego wyboru, niestety, i naprawdę muszę przekazać proxy, aplikacja nie może przekierować (klient xml-rpc). – sharpner
Ale jaki jest teraz problem? Nie działa? Co jest w dziennikach? – user973254