Ich möchte bestimmte Subdomains meiner Domain an mein Backend als Präfixe der URL umleiten, die an das Backend übergeben wird. Dies liegt daran, dass ich einen einzelnen Server habe und aufgrund der erhöhten Komplexität nicht die mehreren Domänen im Backend behandeln muss.NGINX Subdomains als URL in einen proxy_pass umschreiben
Wenn also ich habe:
sub1.domain.com
=>domain.com/sub1/
sub1.domain.com/pathname
=>domain.com/sub1/pathname
sub1.domain.com/pathname?searchquery
=>domain.com/pathname?searchquery
und so weiter.
Bisher, was ich mit kommen haben, ist die folgende:
server {
charset utf8;
listen 80;
server_name
domain.com,
sub1.domain.com,
sub2.domain.com,
sub3.domain.com,
sub4.domain.com,
sub5.domain.com;
# Default
if ($host ~ ^domain\.com) {
set $proxy_uri $request_uri;
}
# Rewrites
if ($host ~ (.*)\.domain\.com) {
set $proxy_uri $1$request_uri;
}
location/{
expires 1s;
proxy_pass http://node:8080$proxy_uri; #node is an internally listed host (docker container)
proxy_set_header Host domain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_valid 200 1s;
}
}
Aber leider alles, was ich bekommen, ist eine 502: Bad Gateway mit dem folgenden Protokoll, 2017/06/11 12:49:18 [error] 6#6: *2 no resolver defined to resolve node, client: 136.0.0.110, server: domain.com:8888,, request: "GET /favicon.ico HTTP/1.1", host: "sub1.domain.com:8888", referrer: "http://sub1.domain.com:8888/"
Irgendeine Idee, wie ich mein Ziel erreichen kann? Jede Hilfe würde sehr geschätzt werden :)
Prost!