Em primeiro lugar, isso pode não ser o problema, mas mesmo assim eu não sabia como intitular este post.
Eu tenho uma configuração que redireciona cada URL que está no formato xxxx.ops.internal.com
após a autenticação para o URL correspondente.
Se eu visitar o URL example.ops.internal.com
, então serei levado a example.ops.internal.com
. No entanto, se eu visitar foobar.ops.internal.com
, também serei levado ao conteúdo fornecido por example.ops.internal.com
, se isso fizer sentido.
Parece que não importa qual URL eu uso, o conteúdo de example.ops.internal.com
é retornado.
Esta é a configuração:
server {
listen *:8081;
server_name example.ops.*;
location / {
proxy_pass http://hiddenip;
proxy_redirect off;
}
}
server {
listen *:8081;
server_name foobar.ops.*;
location / {
proxy_pass http://hiddenip2;
proxy_redirect off;
}
}
Parece que o conteúdo do primeiro servidor é sempre retornado.
É assim que a autenticação ocorre e o redirecionamento acontece:
server {
listen *:80;
server_name ~^auth.(?<domain>ops.*)$;
location = /oauth2/callback {
proxy_pass http://google-auth;
}
location ~/(?<sub>[^/]+)(?<remaining_uri>.*)$ {
rewrite ^ https://$sub.$domain$remaining_uri;
}
}
Talvez alguns cabeçalhos não estejam sendo transmitidos corretamente?
Editar:
Esta é basicamente minha configuração aplicativo Bitly Oauth2 que mostra o aplicativo de autenticação que tem port :8081
como o desenvolvedor .
nginx :80 -> oauth app (using Bitly Oauth2 app) -> nginx :8081 -> requested_route
É o fluxo de aplicativo simplificado.