requestAuthentication详解

104 篇文章 30 订阅
订阅专栏

 欢迎关注我的公众号:

 目前刚开始写一个月,一共写了18篇原创文章,文章目录如下:

istio多集群探秘,部署了50次多集群后我得出的结论

istio多集群链路追踪,附实操视频

istio防故障利器,你知道几个,istio新手不要读,太难!

istio业务权限控制,原来可以这么玩

istio实现非侵入压缩,微服务之间如何实现压缩

不懂envoyfilter也敢说精通istio系列-http-rbac-不要只会用AuthorizationPolicy配置权限

不懂envoyfilter也敢说精通istio系列-02-http-corsFilter-不要只会vs

不懂envoyfilter也敢说精通istio系列-03-http-csrf filter-再也不用再代码里写csrf逻辑了

不懂envoyfilter也敢说精通istio系列http-jwt_authn-不要只会RequestAuthorization

不懂envoyfilter也敢说精通istio系列-05-fault-filter-故障注入不止是vs

不懂envoyfilter也敢说精通istio系列-06-http-match-配置路由不只是vs

不懂envoyfilter也敢说精通istio系列-07-负载均衡配置不止是dr

不懂envoyfilter也敢说精通istio系列-08-连接池和断路器

不懂envoyfilter也敢说精通istio系列-09-http-route filter

不懂envoyfilter也敢说精通istio系列-network filter-redis proxy

不懂envoyfilter也敢说精通istio系列-network filter-HttpConnectionManager

不懂envoyfilter也敢说精通istio系列-ratelimit-istio ratelimit完全手册

学习目标

什么是RequestAuthentication

RequestAuthentication defines what request authentication methods are supported by a workload. It will reject a request if the request contains invalid authentication information, based on the configured authentication rules. A request that does not contain any authentication credentials will be accepted but will not have any authenticated identity.

就是用来配置jwt的

资源详解

FieldTypeDescriptionRequired
selectorWorkloadSelectorThe selector determines the workloads to apply the RequestAuthentication on. If not set, the policy will be applied to all workloads in the same namespace as the policy.No
jwtRulesJWTRule[]Define the list of JWTs that can be validated at the selected workloads’ proxy. A valid token will be used to extract the authenticated identity. Each rule will be activated only when a token is presented at the location recorgnized by the rule. The token will be validated based on the JWT rule config. If validation fails, the request will be rejected. Note: if more than one token is presented (at different locations), the output principal is nondeterministic.No

selector

ra-example-productpage.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

TOKEN=eyJhbGciOiJSUzI1NiIsImtpZCI6IkRIRmJwb0lVcXJZOHQyenBBMnFYZkNtcjVWTzVaRXI0UnpIVV8tZW52dlEiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjM1MzczOTExMDQsImdyb3VwcyI6WyJncm91cDEiLCJncm91cDIiXSwiaWF0IjoxNTM3MzkxMTA0LCJpc3MiOiJ0ZXN0aW5nQHNlY3VyZS5pc3Rpby5pbyIsInNjb3BlIjpbInNjb3BlMSIsInNjb3BlMiJdLCJzdWIiOiJ0ZXN0aW5nQHNlY3VyZS5pc3Rpby5pbyJ9.EdJnEZSH6X8hcyEii7c8H5lnhgjB5dwo07M5oheC8Xz8mOllyg--AHCFWHybM48reunF--oGaG6IXVngCEpVF0_P5DwsUoBgpPmK1JOaKN6_pe9sh0ZwTtdgK_RP01PuI7kUdbOTlkuUi2AO-qUyOm7Art2POzo36DLQlUXv8Ad7NBOqfQaKjE9ndaPWT7aexUsBHxmgiGbz1SyLH879f7uHYPbPKlpHU6P9S-DaKnGLaEchnoKnov7ajhrEhGXAQRukhDPKUHO9L30oPIr5IJllEQfHYtt6IZvlNUGeLUcif3wpry1R5tBXRicx2sXMQ7LyuDremDbcNy_iE76Upg

curl 192.168.198.154:30986/productpage -H "Authorization: Bearer ${TOKEN}"

jwtRules

FieldTypeDescriptionRequired
issuerstringIdentifies the issuer that issued the JWT. See issuer A JWT with different iss claim will be rejected.Example: Auth0: Secure access for everyone. But not just anyone. Example: 1234567-compute@developer.gserviceaccount.comYes
audiencesstring[]The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.The service name will be accepted if audiences is empty.Example:audiences: - bookstore_android.apps.example.com bookstore_web.apps.example.comNo
jwksUristringURL of the provider’s public key set to validate signature of the JWT. See OpenID Discovery.Optional if the key set document can either (a) be retrieved from OpenID Discovery of the issuer or (b) inferred from the email domain of the issuer (e.g. a Google service account).Example: https://www.googleapis.com/oauth2/v1/certsNote: Only one of jwksuri and jwks should be used. jwksuri will be ignored if it does.No
jwksstringJSON Web Key Set of public keys to validate signature of the JWT. See https://auth0.com/docs/jwks.Note: Only one of jwksuri and jwks should be used. jwksuri will be ignored if it does.No
fromHeadersJWTHeader[]List of header locations from which JWT is expected. For example, below is the location spec if JWT is expected to be found in x-jwt-assertion header, and have “Bearer ” prefix:fromHeaders: - name: x-jwt-assertion prefix: "Bearer "No
fromParamsstring[]List of query parameters from which JWT is expected. For example, if JWT is provided via query parameter my_token (e.g /path?my_token=), the config is:fromParams: - "my_token"No
outputPayloadToHeaderstringThis field specifies the header name to output a successfully verified JWT payload to the backend. The forwarded data is base64_encoded(jwt_payload_in_JSON). If it is not specified, the payload will not be emitted.No
forwardOriginalTokenboolIf set to true, the orginal token will be kept for the ustream request. Default is false.No

issuer

ra-example-productpage.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

audiences

ra-productpage-jwtrules-audiences.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    audiences:
    - "app"
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

Audiences in Jwt are not allowed

jwt里没有audience

jwksUri

ra-productpage-jwtrules-jwksUri.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwksUri: http://jwt-server.istio.svc.cluster.local:8000

jwt-server.yaml

apiVersion: v1
kind: Service
metadata:
  name: jwt-server
  labels:
    app: jwt-server
spec:
  ports:
  - name: http
    port: 8000
    targetPort: 8000
  selector:
    app: jwt-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jwt-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jwt-server
  template:
    metadata:
      labels:
        app: jwt-server
    spec:
      containers:
      - image: docker.io/istio/jwt-server:0.5
        imagePullPolicy: IfNotPresent
        name: jwt-server
        ports:
        - containerPort: 8000
---

jwks

ra-example-productpage.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

fromHeaders

ieldTypeDescriptionRequired
namestringThe HTTP header name.Yes
prefixstringThe prefix that should be stripped before decoding the token. For example, for “Authorization: Bearer ”, prefix=“Bearer ” with a space at the end. If the header doesn’t have this exact prefix, it is considerred invalid.No

ra-productpage-jwtrules-fromHeaders.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    fromHeaders:
    - name: my-token
      prefix: test
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

curl 192.168.198.154:30986/productpage -H "my-token: test ${TOKEN}"

fromParams

ra-productpage-jwtrules-fromParams.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    fromParams:
    - my-token
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

curl 192.168.198.154:30986/productpage?my-token=${TOKEN}

outputPayloadToHeader

ra-productpage-jwtrules-outputPayloadToHeader.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    fromParams:
    - my-token
    outputPayloadToHeader: auth
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

curl 192.168.198.154:30986/productpage?my-token=${TOKEN}

forwardOriginalToken

1启用网关jwt

网关不启用token转发

kubectl apply -f ra-example.yaml -n istio-system

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "jwt-example"
  namespace: istio-system
spec:
  selector:
    matchLabels:
      istio: ingressgateway
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }
   # forwardOriginalToken: true  # 转发 Authorization 请求头

2启用productpage jwt

ra-productpage-jwtrules-forwardOriginalToken.yaml

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "productpage"
spec:
  selector:
    matchLabels:
      app: productpage
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }

curl 192.168.198.154:30986/productpage -H "Authorization: Bearer ${TOKEN}"

访问失败

3修改网关jwt

网关启用转发token

kubectl apply -f ra-example.yaml -n istio-system

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "jwt-example"
  namespace: istio-system
spec:
  selector:
    matchLabels:
      istio: ingressgateway
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwks: |
      { "keys":
         [
           {
             "e":"AQAB",
             "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
             "kty":"RSA",
             "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
           }
         ]
      }
    forwardOriginalToken: true  # 转发 Authorization 请求头

4访问

curl 192.168.198.154:30986/productpage -H "Authorization: Bearer ${TOKEN}"

成功

QValueAxis详解
04-06
QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解QValueAxis详解...
minio上传文件超过5M后文件上传报错request has multiple authentication types, please use one
weixin_36332085的博客
06-29 3357
将Content-Type由multipart/form-data换成application/octet-stream就可以解决问题了。
关于FCKeditor,上传文件时提示invalid request的解决办法
dhklsl的专栏
02-14 1305
<br />在使用FCKeditor的时候,里边有一个功能就是超链接中能选择文件上传,如图:<br /><br />但是测试的时候发现这个功能一点“发送到服务器上”按钮,就会提示“invalid request”。<br />解决办法:<br />在配置文件中(fckconfig.js)中将FCKConfig.LinkUploadURL 属性改为FCKConfig.BasePath + '../upload.' + _QuickUploadExtension + '?Type=File' ;<br />即可
MDX语法详解
11-17
Microsoft SQL Server Analysis Services 多维数据集是基于度量值、维度和维度属性来组织的。下表说明了使用 MDX 表达式语言所需了解的维度建模术语和概念。
cdn技术详解
01-25
cdn技术详解,高清影印版,内含部分心得。 cdn技术详解,高清影印版,内含部分心得。
IIC总线通讯协议详解
最新发布
05-09
IIC总线通讯协议详解
桥接技术详解
03-31
桥接技术详解
解决connect: The requested address is not valid in its context
空山新雨后,天气晚来秋
08-04 6269
解决connect: The requested address is not valid in its context
HTTP状态码详解
weixin_30824599的博客
01-24 1359
原文地址:HTTP状态码详解作者:gsnas https://en.wikipedia.org/wiki/List_of_HTTP_status_codes 1、百科名片 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 277...
openGauss使用说明
maqingbin8888的专栏
08-08 4413
openGauss安装及基本使用
求助……玩客云安装homeassistant 折腾了三天了安装六次,问了度娘各种解决办法,依旧安装失败,哪位大神帮我一下?
YY84671812的博客
01-29 1952
求助……玩客云安装homeassistant 折腾了三天了安装六次,问了度娘各种解决办法,依旧安装失败,哪位大神帮我一下?
springsecurity oauth2.0 基于session的认证授权(intercepter拦截器)2
健康平安的活着的专栏
07-31 2315
一 基于session的认证流程 1.1 认证流程 基于session的认证流程为: 用户认证成功后,在服务端生成用户相关的数据保存在session(当前会话),而发 给客户端的 sesssion_id 存放到 cookie 中,这样用客户端请求时带上 session_id 就可以验证服务器端是否存在 session 数据,以此完成用户的合法校验。当用户退出系统或session过期销毁时,客户端的session_id也就无效了。 流程如下: 基于Session的认证机制由Servlet规范定制.
“The server requested authentication method unknown to the client.”的解决方案
热门推荐
比特飞
08-18 1万+
本文由比特飞原创发布,欢迎大家踊跃转载。 转载请注明本文地址:https://www.byteflying.com/archives/3636。 另外可参考文章:“1251 – Client does not support authentication protocol requested by server;consider upgrading MySQL client.”的解决方案。 描述 最近在连接 mysql 8.0 数据库时,遇到如下的报错信息: The server req...
TokenRequestBuilder、AuthenticationRequestBuilder、OAuthBearerClientRequest的区别:
u011280067的博客
02-26 966
相同点: 1、OAuthBearerClientRequest和TokenRequestBuilder、AuthenticationRequestBuilder都继承了OAuthRequestBuilder类 2、实例化这些对象的目的都是给OAuthClientRequest的parameters赋值,然后通过父类方法 都是通过OAuthRequestBuilde...
Minio——上传10M图片文件失败
WoodYangOY的博客
11-01 7771
项目场景: 在安卓App有上传文件,文件接口是项目统一的。 问题描述: 提示:这里描述项目中遇到的问题: 安卓App内上传10M以下(只测试了10M左右的图片文件)图片文件可以正常上传,而超过10M就会抛出异常,用PostMan测试文件上传接口,一切正常!!!!! 原因分析: 1、partCount 异常抛出位置是 uploadId == null 条件内,我以为是partCount 异常导致的,因为抛异常的文件的 partCount=4 ,不会抛异常的文件的partCount = 1 ,结果不然,此
Java枚举类型详解与应用
本电子书《Java枚举类型详解》由汪文君编撰,详细讲解了如何在Java中有效地利用枚举。 章节1阐述了课程大纲,涵盖了以下几个核心知识点: 1. 枚举的定义与使用:学习者将理解什么是枚举,如何在Java中声明并定义...
写文章

热门文章

  • idea 自动导入包 快捷键 242459
  • 最近收集的9000个英语单词 152997
  • xmanager enterprise 5中文破解版下载(附产品密钥) 132348
  • 如何解压.bz2文件包 104753
  • linux下的shell运算(加、减、乘、除 77310

分类专栏

  • k8s实战之helm源码分析 6篇
  • istio1.4源码分析之pilot
  • 微软100题scala.java
  • k8s实战之kubectl源码分析 104篇
  • java面试题 91篇
  • fix协议实战 34篇
  • 微软100题scala.java , python,c,c++版 2篇
  • 设计模式 23篇
  • python数据结构和算法 7篇
  • scala数据结构和算法 10篇
  • 马哥培训手记 7篇
  • 运维面试 1篇
  • 源码阅读心得
  • ajax 3篇
  • c/c++编程 22篇
  • flex 5篇
  • java web 86篇
  • jersey 8篇
  • linux编程 134篇
  • python编程 58篇
  • hadoop 73篇
  • R语言 4篇
  • 算法 103篇
  • 并发设计 24篇
  • 设计模式 26篇
  • english 5篇
  • nio/mina/openfire 4篇
  • db 43篇
  • mq 29篇
  • im
  • ds 1篇
  • scala 38篇
  • 机器学习 4篇
  • spark 15篇
  • 人工智能 3篇
  • shell编程
  • nginx 3篇
  • redis 25篇
  • mongodb 12篇
  • scala源码阅读 1篇
  • spark源码阅读
  • groovy&grails 15篇
  • javascript 18篇
  • mybatis 18篇
  • java 39篇
  • fix 35篇
  • maven 23篇
  • zookeeper 7篇
  • shiro 18篇
  • spring 17篇
  • struts 1篇
  • hbase 19篇
  • hive 6篇
  • pig 7篇
  • storm 2篇
  • kafka 4篇
  • jvm 6篇
  • dubbo 16篇
  • memcache 12篇
  • sqoop 2篇
  • 架构设计 10篇
  • nio 2篇
  • mina
  • netty 8篇
  • jdbc 10篇
  • 中间件 1篇
  • distribute file system 13篇
  • alibaba 1篇
  • 工程数学
  • bank 1篇
  • java集合工具类 9篇
  • mysql 10篇
  • git 13篇
  • intellij idea 4篇
  • jquery-easyui 6篇
  • office 1篇
  • 面试 65篇
  • kotlin 4篇
  • 开发工具 2篇
  • 微服务 11篇
  • docker 108篇
  • 文化 1篇
  • Lucene Solr
  • golang 15篇
  • Django 2篇
  • spring batch 9篇
  • playframework
  • opencv 1篇
  • cuda
  • opengl
  • directx
  • devops 2篇
  • neuroph 1篇
  • elasticsearch 40篇
  • web.py 1篇
  • Cassandra 11篇
  • spring boot 64篇
  • spring cloud 51篇
  • lift
  • serverless 1篇
  • 网络 4篇
  • spring data 3篇
  • kubernetes 282篇
  • uml
  • 架构 5篇
  • Mesos 4篇
  • etcd 5篇
  • esb 3篇
  • soa 2篇
  • osgi
  • sca 1篇
  • web service 10篇
  • ddd 4篇
  • 在线支付系统
  • app电子商城
  • 仓储系统
  • 运营管理系统
  • 客户管理系统
  • 人力资源系统
  • 财务管理系统
  • 数据分析系统
  • 决策支持系统
  • 营销管理系统
  • 项目管理系统
  • 行政管理系统
  • 企业信息系统集成
  • 供应链系统
  • 企业预警系统
  • 投资管理系统
  • 企业学习系统
  • spring reactor 2篇
  • spring xd 1篇
  • sso 10篇
  • gemfire 11篇
  • jsr 2篇
  • ignite 1篇
  • gui
  • gradle 14篇
  • java特性 3篇
  • 区块链 3篇
  • 分布式系统 3篇
  • 爬虫 2篇
  • freemarker 4篇
  • web安全 2篇
  • tomcat 1篇
  • spring webflow 1篇
  • jdk 3篇
  • spring security 16篇
  • fastdfs 5篇
  • tfs 4篇
  • velocity 7篇
  • AngularJS
  • lock 1篇
  • extjs
  • http 1篇
  • quartz 12篇
  • druid 4篇
  • spring mvc 4篇
  • thymeleaf 4篇
  • aop 3篇
  • 负载均衡 2篇
  • ha 2篇
  • rpc
  • 协议
  • mycat 3篇
  • sitemesh
  • 字节码动态
  • cache 1篇
  • hession
  • 表达式语言 2篇
  • 加密算法 1篇
  • 浏览器 2篇
  • solr 31篇
  • 搜索 4篇
  • lucence 1篇
  • 日志 2篇
  • workflow 2篇
  • elk 23篇
  • swagger 10篇
  • nodejs 3篇
  • spring integration 8篇
  • neo4j 2篇
  • dynamo 2篇
  • oceanbase 1篇
  • Hazelcast
  • ejb 1篇
  • zipkin 1篇
  • SkyWalking
  • 开源 1篇
  • websocket 3篇
  • html5
  • graphsql 4篇
  • jenkins 24篇
  • hfs 2篇
  • jhipster 4篇
  • 阿里云 1篇
  • traefik 1篇
  • Code Review 9篇
  • 产品管理
  • fabric8 3篇
  • 运维 121篇
  • 测试 5篇
  • android 1篇
  • ios
  • openshift 9篇
  • chef 2篇
  • openstack 45篇
  • puppet
  • saltstack
  • 虚拟化技术
  • coreos 4篇
  • istio 4篇
  • kvm 8篇
  • kubeflow
  • angurlarjs 1篇
  • 普元EOS 1篇
  • ansible 4篇
  • kong 2篇
  • k8s源码 10篇
  • unikernel 1篇
  • 视频

最新评论

  • 不懂envoyfilter也敢说精通istio系列-ratelimit-istio ratelimit完全手册

    no-muggle: 请好,本地限流能否根据请求头内容限流呢?

  • Kubernetes dashboard1.8.0 WebUI安装与配置

    yyyyy12345eeeee: spec.containers.image:填写dashboard的镜像路径,这个镜像是要提前下载好,并放置好路径的吗

  • 根据手机号码查归属的再查经纬度

    m0_67617479: 兄弟 我现在就要手机号码的归属地坐标 那个网站可以查 一个人欠我钱我要去她老家要债

  • 根据手机号码查归属的再查经纬度

    Lesroad: 这是号码归属地的坐标,不一定是现在所在的坐标呀

  • 面试问题(aop默认代理方式是什么)

    m0_71830849: 如果不给proxy-target-class配置,应该默认使用cglib做动态代理吧

大家在看

  • 布草洗涤必备4张表-———未来之窗行业应用跨平台架构
  • 第二章 网页制作的排版方法 550
  • 许少辉加工中心《乡村振兴战略下传统村落文化旅游设计》南门方向辉少许
  • 京东返利APP的高并发与高可用架构设计 2372
  • 深度学习:神经网络--手写数字识别 915

最新文章

  • 不懂envoyfilter也敢说精通istio系列-ratelimit-istio ratelimit完全手册
  • istio多集群探秘,部署了50次多集群后我得出的结论
  • tekton命令
2021年20篇
2020年112篇
2019年223篇
2018年588篇
2017年954篇
2016年20篇
2015年16篇
2014年178篇
2013年36篇
2012年7篇
2011年16篇
2010年13篇

目录

目录

分类专栏

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家金坛玻璃钢造型雕塑定西仿真玻璃钢雕塑定制东城区商场美陈效果图长春园林玻璃钢雕塑生产厂家玻璃钢雕塑做效果大连火烈鸟玻璃钢雕塑生产厂家广州泡沫玻璃钢雕塑商场大厅顶部美陈阜康玻璃钢浮雕人物山水雕塑泰州荷花玻璃钢雕塑商场玻璃钢花盆颜色选择商场美陈接电玻璃钢雕塑的使用方法上海定制玻璃钢雕塑玻璃钢浮雕塑制作流程柳州玻璃钢雕塑厂家直销宁夏玻璃钢动物雕塑玻璃钢雕塑碎了怎么修西城玻璃钢花盆耐高温玻璃钢雕塑价格玻璃钢地球仪雕塑贵阳玻璃钢雕塑设计商场美陈合作模式商场装饰玻璃钢卡通雕塑批发青岛蔬菜玻璃钢雕塑山东户外商场美陈报价香港仿铜玻璃钢雕塑玻璃钢卡通雕塑厂家批发山西玻璃钢园林雕塑商场美陈悬挂海豚卡通气模香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化