nginx: przekierowuj wszystkie żądania do serwera proxy, ale nie te trzy konkretne adresy URL
nginx może czasami być trudny:
chciałbym
- przekierowuj wszystkie przychodzące żądania do
www.sub.domain.com/*
dowww.other.domain.com/*
- użyj serwera proxy, aby użytkownicy mogli nadal widzieć oryginał
www.sub.domain.com
podczas przeglądania serwisu - dodaj wyjątek dla niektórych adresów URL (wszystkie tego samego typu):
www.sub.domain.com/script
trzeba przekierować dowww.yet.another.domain.com/www.sub.domain.com/new_script
przechowując wprowadzone dane POST dla skryptu. Z małą sztuczką, którą zawiera foldernew_script
nazwany bezpośrednio po oryginalnej domenie.
To jest to co zrobiłem:
server {
listen xx.xx.xx.xx:80;
root/var/www;
index index.html index.htm;
server_name www.sub.domain.com;
[code] location/cms/ {[/code]
proxy_pass [url=http://yy.yy.yy.yy:8080;]http://yy.yy.yy.yy:8080;[/url]
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
} location/script {
proxy_pass [url=http://www.yet.another.domain.com/www.sub.domain.com/;]http://www.yet.another.domain. ... m/%3B[/url]
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
} location/{
proxy_pass [url=http://yy.yy.yy.yy:8080;]http://yy.yy.yy.yy:8080;[/url]
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host; rewrite ^/int/a.([a-zA-Z]+).([0-9]+)$/site/int/a?l=$1&i=$2 last;
rewrite ^(.*)$/site/$1 last;
}
}Przy dostępie
www.sub.domain.com/script, To się stało:
curl -I www.sub.domain.com/scriptWyświetla również błąd 404: „Nie znaleziono: żądany adres URL/www.sub.domain.com/ nie został znaleziony na tym serwerze”.
HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.0
Date: Mon, 04 Aug 2014 04:12:23 GMT
Content-Type: text/html
Content-Length: 184
Location:
[url=http://www.sub.domain.com/script/]http://www.sub.domain.com/script/[/url]
[url=http://www.sub.domain.com/script/]http://www.sub.domain.com/script/[/url]
Connection: keep-alive
Gdzie jest mój błąd? Nie widzę tego. (A może jest to kilka błędów? Nie mam doświadczenia w przekierowaniach nginx).
Wielkie dzięki!
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
0 odpowiedzi