2016-06-07 3 views
2

Ich habe ein VPS, dessen primäre Schnittstelle über zwei Internet-Namen zugänglich ist, die ich hier als personal.me und company.com geben werde. Ich bin ein Mattermost-Server ausgeführt wird und es über personal.me mit dem folgenden nginx Regel zugreifen:nginx: Rewriting-Regel für den Zugriff auf die am weitesten entfernte Instanz

server { 
    server_name personal.me; 

     location/{ 
      client_max_body_size 50M; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "upgrade"; 
      proxy_set_header Host $http_host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header X-Forwarded-Proto $scheme; 
      proxy_set_header X-Frame-Options SAMEORIGIN; 
      proxy_pass http://localhost:8065; 
     } 
    } 

sehr gut Dies funktioniert, aber ich würde auch die Instanz über http://company.com/fora/ zugreifen möchte - der Punkt, dass dies sein Zeit gibt es einen/Foren/Pfad zu entfernen. Ich weiß, dass ich https: // verwenden sollte, aber das ist eine separate Angelegenheit, für später. Ich habe versucht:

server { 
    listen  80; 
    server_name company.com; 

    location/{ 
     root [...]; 
     index index.html; 
    } 

    # redirect server error pages to the static page /50x.html 
    # 
    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root /usr/share/nginx/html; 
    } 

    location /fora/ { 
     client_max_body_size 50M; 
     rewrite /fora//break; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_set_header X-Frame-Options SAMEORIGIN; 
     proxy_pass http://localhost:8065; 
    } 
} 

aber wenn ich zu http://company.com/fora/ obwohl die Titelleiste Änderungen Mattermost navigieren, gibt es keinen Inhalt --- die Seite ist leer. Da ich über die personal.me-URL auf Matlestm zugreifen kann, glaube ich, dass Matlestm korrekt ausgeführt wird.

Was stimmt nicht mit der Regel company.com? Hat es etwas damit zu tun, dass man den Pfad nicht nach Mathermest führt?

Laut Nginx reverse proxy (proxy_pass) does not pass subfolder und http://forum.mattermost.org/t/blank-page-when-installing-mattermost-with-nginx-proxy-pass-as-subdirectory/1604 ist dies nicht möglich, aber ich verstehe das nicht ... sicher ein Teil der URL zu entfernen ist eine der Kernfunktionen von nginx?

Antwort

1

Dies scheint unmöglich zu sein mit Mathermost, da die App davon ausgeht, dass es am Server root ist.

Weitere Details finden Sie unter this issue on their github und this ticket. Sie können verfolgen, ob dies zu einer unterstützten Funktion wird.

+0

Ich verstehe das nicht; ist nicht der Punkt der nginx "rewrite" -Regel, dass Matterngth die umgeschriebene URL sieht und nicht weiß, dass sie nicht am Server root ist? – Michael

Verwandte Themen