it-swarm.com.de

Nginx-Proxy-Domain zu einer anderen Domain ohne Änderungs-URL

Meine Frage ist im Betreff. Ich habe eine Domain, das ist die Konfiguration von Nginx:

server {
listen 80;
server_name connect3.domain.ru www.connect3.domain.ru;

access_log /var/log/nginx/connect3.domain.ru.access.log;
error_log /var/log/nginx/connect3.domain.ru.error.log;

root /home/httpd/vhosts/html;
index index.html index.htm index.php;

location ~* \.(avi|bin|bmp|css|dmg|doc|docx|dpkg|exe|flv|gif|htm|html|ico|ics|img|jpeg|jpg|js|m2a|m2v|mov|mp3|mp4|mpeg|mpg|msi|pdf|pkg|png|pps|ppt|pptx|ps|rar|rss|rtf|swf|tif|tiff|txt|wmv|xhtml|xls|xml|Zip)$ {
    root /home/httpd/vhosts/html;
    access_log off;
    expires 1d;
}

location ~ /\.(git|ht|svn) {
    deny all;
}

location / {
    #rewrite ^ http://connect2.domain.ru/;
    proxy_pass http://127.0.0.1:8080/;
    proxy_redirect off;
    proxy_hide_header "Cache-Control";
    add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
    proxy_hide_header "Pragma";
    add_header Pragma "no-cache";
    expires -1;
    add_header Last-Modified $sent_http_Expires;
    proxy_set_header Host $Host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Ich muss den Host connect3.domain.ru als Proxy für connect2.domain.ru verwenden, ohne dass die URL in den Adressleisten des Browsers geändert wurde. Meine auskommentierte Zeile zum Umschreiben könnte dieses Problem lösen, aber es ist nur ein Umschreiben, sodass ich nicht bei derselben URL bleiben kann.

Ich weiß, dass diese Frage einfach ist, aber bitte helfen Sie. Vielen Dank.

19

Sie setzen:

proxy_set_header Host $Host;

Sie wollen:

proxy_set_header Host connect2.domain.ru;
27
VBart

Also denke ich - hier ist die Lösung, wenn ich das Problem richtig verstanden habe:

 # backend.wants.this.server.com
 # browser.shows.this.server.com

server {
  listen 80;
  server_name browser.shows.this.server.com;

  location / {
     proxy_set_header Host backend.wants.this.server.com;
     proxy_redirect http://backend.wants.this.server.com/ http://browser.shows.this.server.com/; 
  }
}
8
Antiarchitect

Die Telepathie über Port 8080 wurde deaktiviert, da Sie uns nicht die vollständige Konfiguration anzeigen.

server {
    listen 80;
    server_name connect3.domain.ru www.connect3.domain.ru;

    location / {
        proxy_pass http://connect2.domain.ru;
        proxy_set_header Host connect2.domain.ru;
    }
}
6
cadmi