2台のサーバーがありますが、
iP xx.xx.xx.xxで、ドイツにあります...(実行中のフロントエンド:nginx(静的コンテンツ)、バックエンド:Apache2)
イタリアにあるIP yy.yy.yy.yyの...
現時点でのすべてのリクエストは、IP xx.xx.xx.xxを使用してサーバーに送信しています nginxを使用...
request proxy, request
Internet -> xx.xx.xx.xx(nginx) -> yy.yy.yy.yy(nginx, Apache)
<- <-
response proxy, response
ありがとう...
ほかの人のため。件名に対する回答は、nginxを次のように設定することです:
server {
listen 80;
server_name mydomain.com;
location / {
access_log off;
proxy_pass http://mydomain.com:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $Host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
次のようなupstereamを使用できます。
upstream xx.xx.xx.xx:8080{
#ip_hash;
server xx.xx.xx.xx:8080 max_fails=2 fail_timeout=2s;
server yy.yy.yy.yy:8181 max_fails=2 fail_timeout=2s;
}
cookieまたはヘッダーを使用して、次のようにリクエストを設定できます。
location /app {
if ($cookie_proxy_override = "proxy-target-A") {
rewrite . http://xx.xx.xx.xx:8080/app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
if ($cookie_proxy_override = "proxy-target-B") {
rewrite . http://yy.yy.yy.yy:8181/webreg;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
proxy_pass http://xx.xx.xx.xx:8080/webreg;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}