Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

nginx: Rediriger toutes les demandes de proxies, mais pas ces trois spécifiques URL

nginx Parfois, cela peut être difficile:

J'aimerais

Rediriger toutes les demandes entrantes pour

www.sub.domain.com/*

à

www.other.domain.com/*

utiliser proxy afin que les utilisateurs ont toujours vu l'original

www.sub.domain.com

En regardant le site

Ajouter une exception pour certains URL (Tout le même type):

www.sub.domain.com/script

Il est nécessaire de rediriger sur

www.yet.another.domain.com/www.sub.domain.com/new_script

, En conservant les données entrées POST Pour le script. Avec une petite astuce qu'un dossier contenant

new_script

Nommé immédiatement après le domaine d'origine.

C'est ce que j'ai fait:


server {
listen xx.xx.xx.xx:80;
root /var/www;
index index.html index.htm;
server_name www.sub.domain.com;


<pre><code> location /cms/ {
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&amp;i=$2 last;
rewrite ^(.*)$ /site/$1 last;
}
</code></pre>


}

Quand accès

www.sub.domain.com/script

, C'est arrivé:


curl -I www.sub.domain.com/script
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:
<a href="[url=http://www.sub.domain.com/script/"]http://www.sub.domain.com/script/"[/url] rel="nofollow noreferrer">
[url=http://www.sub.domain.com/script/]http://www.sub.domain.com/script/[/url]
</a>
Connection: keep-alive

De plus, une erreur est affichée. 404: "Non trouvé: demandé URL /www.sub.domain.com/ pas trouvé sur ce serveur. "

Où est mon erreur? Je ne peux pas le remarquer. (Ou est-ce un tas d'erreurs? Je suis nouveau pour rediriger nginx.)

Merci beaucoup!
Invité:

Pour répondre aux questions, connectez-vous ou registre