Linux docker上的rest调用出错:主机标头未正确设置

Linux docker上的rest调用出错:主机标头未正确设置,linux,docker,rest,curl,keycloak,Linux,Docker,Rest,Curl,Keycloak,我有两个docker容器,都在同一个网络中: 我的micro服务带有端口映射18080->8080 端口映射为9080->8080的KeyClope应用程序 我是这样运行KeyClope的: docker run --name keycloak -p 9080:8080 -e PROXY_ADDRESS_FORWARDING=true -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:11.0.

我有两个docker容器,都在同一个网络中:

  • 我的micro服务带有端口映射18080->8080
  • 端口映射为9080->8080的KeyClope应用程序
  • 我是这样运行KeyClope的:

    docker run --name keycloak -p 9080:8080 -e PROXY_ADDRESS_FORWARDING=true -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:11.0.2 -b 0.0.0.0
    
    如果我提出请求:

    curl --location --request GET 'http://keycloak:8080/auth/realms/myrealm/protocol/openid-connect/userinfo'  --header 'Authorization: Bearer...' --verbose
    
    我收到一个401错误。但是,如果我像这样设置主机头

    curl --location --request GET 'http://keycloak:8080/auth/realms/myrealm/protocol/openid-connect/userinfo'  --header 'Authorization: Bearer...' --verbose -H "Host: localhost:9080"
    
    请求有效,我有一个200状态响应

    如果我从我的主机发出请求,相同的行为,设置主机头和未设置主机头,结果是相同的

    有人能告诉我如何改变这种行为吗?因为主机头不应该手动设置,对吗