小编Alf*_*oon的帖子

Docker 带有“--network host”不允许访问应用程序端口

我在 docker 中有 Spring Boot 应用程序,并且我正在像这样运行我的应用程序:

docker run  --rm --network host --name myapp1 myapp
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从主机访问它时,它失败了:

my_machine:~ root$ curl localhost:8081/someendpoint -v
*   Trying ::1...
* TCP_NODELAY set
* Connection failed
* connect to ::1 port 8081 failed: Connection refused
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connection failed
* connect to 127.0.0.1 port 8081 failed: Connection refused
* Failed to connect to localhost port 8081: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 8081: Connection …
Run Code Online (Sandbox Code Playgroud)

docker spring-boot docker-network

13
推荐指数
1
解决办法
6530
查看次数

如何在 Spring Boot 中将 POST 请求从一个 Web 应用程序正确转发到另一个 Web 应用程序?

让我们考虑一下我有两个 Web 应用程序 A 和 B 的情况

初始数据来到 A,在那里我有下一个控制器:

@RestController
public class restController {
@RequestMapping(path = "/testA", method = RequestMethod.POST)
public final void test(*inputdata*) { "redirect POST to B app" }
}
Run Code Online (Sandbox Code Playgroud)

此数据必须发送到应用程序 B:

@RestController
public class restController {
@RequestMapping(path = "/testB", method = RequestMethod.POST)
public final void test(*inputdata*) { 'some logic' }
}
Run Code Online (Sandbox Code Playgroud)

并且必须将逻辑结果发送回 A 应用程序。

通信必须以 RESTful 格式进行。

据我通过“谷歌搜索”发现,Spring 无法做到这一点,我必须创建自定义的“POST”方法,是真的吗?因为这个链接http://www.baeldung.com/spring-redirect-and-forward包含有关“重定向 HTTP POST 请求”的信息,但我无法理解他们使用它的方式。

谢谢!

java model-view-controller spring http spring-boot

6
推荐指数
1
解决办法
4207
查看次数

KeyCloak服务器的自省端点

我正在尝试探索KeyCloak服务器的功能,并希望通过使用/ openid-connect / token / introspect端点获取有关访问令牌的信息。

因此,我正在向该端点发送下一个请求

curl -v --data "token_type_hint=access_token&client_id=product- 
app&username=user&token=MY ACCESS TOKEN" 
http://localhost:8080/auth/realms/springdemo/protocol/openid- 
connect/token/introspect
Run Code Online (Sandbox Code Playgroud)

所以这就是我的回应:

{"error":"invalid_request","error_description":"Client not allowed."}* 
Connection #0 to host localhost left intact
Run Code Online (Sandbox Code Playgroud)

这就是我在KeyCloak的日志中看到的内容:

12:00:18,045 WARN  [org.keycloak.events] (default task-13) 
type=INTROSPECT_TOKEN                                     _ERROR, 
realmId=springdemo, clientId=product-app, userId=null, ipAddress=127.0.0                                     
.1, error=invalid_request, detail='Client not allowed.', 
client_auth_method=client-secret
Run Code Online (Sandbox Code Playgroud)

因此,我无法理解-在这种情况下,关于该产品应用具有公共访问权限,我应该如何正确地请求密钥斗篷。请解释!

openid oauth-2.0 keycloak

5
推荐指数
1
解决办法
4149
查看次数