使用反向代理

时间:2017-06-27 11:09:35

标签: nginx spring-boot keycloak

我正在使用keycloak 3.1.0 Final 我正在检查keycloak中openid connect的工作情况。但卡在中间。

当在localhost中运行keycloak和spring-boot(意味着spring-boot的auth-server-url = localhost:8080 / auth以及keycloak中的重定向url等也指向localhost *)时,一切正常。现在我想通过将它们放在反向代理服务器(Nginx)

之后进行检查

我使用以下命令在独立模式下启动keycloak:

bin/standalone.sh -b=0.0.0.0

我有一个简单的spring boot应用程序,其application.properties文件如下所示:

server.port = 8001

keycloak.auth-server-url=http://myserver.com/auth
keycloak.realm=myrealm
keycloak.resource=web-app

keycloak.ssl-required=none
keycloak.credentials.secret=aaaaa-bbb-cccc-dddd-eeeeeeee
keycloak.use-resource-role-mappings=true

在Keycloak中,我创建了一个领域 myrealm ,其客户名为 web-app

我想只使用http(没有https)。

大多数是默认的。唯一值得一提的是:

    领域设置中
  • 要求SSL

  • 客户端中的
  • 访问类型设置为机密

  • 客户端协议是openid connect
  • 重定向uri http://myserver.com/myapp
  • 客户端身份验证器基于clientID和secret。

在Nginx方面,我有一个简单的conf文件:

请注意我将 $ Host 设置为 $ host / myapp 。否则keycloak无法正确重定向到myapp。

    server {
    listen       80;
    server_name  myserver.com;

   location /myapp {
        proxy_set_header        Host               $host/myapp;
        proxy_set_header        X-Real-IP          $remote_addr;
        proxy_set_header        X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Host   $host;
        proxy_set_header        X-Forwarded-Server $host;
        proxy_set_header        X-Forwarded-Port   80;
        proxy_set_header        X-Forwarded-Proto  http;

        proxy_pass              http://localhost:8001/;

    }

   location /auth {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Server $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-Host   $host;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_pass              http://localhost:8080;
    }
}

到目前为止,我能够看到keycloak的登录页面。我输入用户名和密码。然后在浏览器中我看到发生了几次重定向。

春季启动日志说无状态cookie

我看到以下网络调用在循环中进行,直到浏览器最终停止。

/auth/realms/myrealm/login-actions/authenticate?code=o2M-zFsbBdHYx1VTacW9JANrsLHM3S1DIF6Geg4mn3E.27593a49-58c6-4217-9c4c-da1e95c2b97c&execution=10865b14-0a24-4eee-b93c-df811d2ddb51

/myapp/sso/login?state=d61d9b7e-a872-443a-8718-2345f29905ad&code=oe8vgQf7URXcHvQtCw1HVJN5mCGEsBgfcVK9AaErKY4.27593a49-58c6-4217-9c4c-da1e95c2b97c

/myapp/sso/login

任何人都可以指导我,我错过了什么。

0 个答案:

没有答案
相关问题