3

伙计们!

我们有以下http请求:

http://185.xxx.x.xx/auth/realms/master-realm/protocol/openid-connect/auth?response_type=code&client_id=regportal&redirect_uri=http%3A%2F%2Fsome.domain.com%2Fregportal%2Fsso% 2Flogin&state=a49a02d5-f873-453f-9148-61793f11ecf3&login=true&scope=openid

我们想redirect_uri从“some.domain.com”替换为“other.domain.com”。

怎么做?

谢谢

4

1 回答 1

4

你需要这样做

location /auth/realms/master-realm/protocol/openid-connect/auth {
   if ($args ~* "(.*)(some\.domain\.com)(.*)") {
       set $args "$1other.domain.com$3";
       return 301 $scheme://$host$uri$args;
   }

}

测试:

curl -I  "vm/auth/realms/master-realm/protocol/openid-connect/auth?response_type=code&client_id=regportal&redirect_uri=http%3A%2F%2Fsome.domain.com%2Fregportal%2Fsso%2Flogin&state=a49a02d5-f873-453f-9148-61793f11ecf3&login=true&scope=openid"
HTTP/1.1 301 Moved Permanently
Server: openresty/1.11.2.2
Date: Fri, 15 Sep 2017 06:01:51 GMT
Content-Type: text/html
Content-Length: 191
Connection: keep-alive
Location: http://vm/auth/realms/master-realm/protocol/openid-connect/authresponse_type=code&client_id=regportal&redirect_uri=http%3A%2F%2Fother.domain.com%2Fregportal%2Fsso%2Flogin&state=a49a02d5-f873-453f-9148-61793f11ecf3&login=true&scope=openid
于 2017-09-15T06:02:39.100 回答