Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 配置多个网关时,Istio和SDS不工作的HTTPS入口(返回404)_Ssl_Kubernetes_Istio - Fatal编程技术网

Ssl 配置多个网关时,Istio和SDS不工作的HTTPS入口(返回404)

Ssl 配置多个网关时,Istio和SDS不工作的HTTPS入口(返回404),ssl,kubernetes,istio,Ssl,Kubernetes,Istio,当我在一个名称空间中配置多个网关-虚拟服务对(每个对都指向基本HTTP服务)时,只有一个服务是可访问的。对另一方的调用通常是第二个配置的返回404。如果删除了第一个网关,则第二个服务可以访问 几周前我提出了一个github问题,其中包含了我的所有配置,但到目前为止没有响应。有人知道我做错了什么吗?基于此 网关端口名称必须是唯一的,如果它们共享同一端口。这是我们区分不同RDS块的唯一方法。我们刚才也讨论过这项议案。除非绝对必要,否则我不会动摇这条船 更多关于这个问题 选中它,事实上,若您配置了多个

当我在一个名称空间中配置多个网关-虚拟服务对(每个对都指向基本HTTP服务)时,只有一个服务是可访问的。对另一方的调用通常是第二个配置的返回404。如果删除了第一个网关,则第二个服务可以访问

几周前我提出了一个github问题,其中包含了我的所有配置,但到目前为止没有响应。有人知道我做错了什么吗?

基于此

网关端口名称必须是唯一的,如果它们共享同一端口。这是我们区分不同RDS块的唯一方法。我们刚才也讨论过这项议案。除非绝对必要,否则我不会动摇这条船

更多关于这个问题

选中它,事实上,若您配置了多个网关,第一个网关的名称是https,但第二个是https bookinfo

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: httpbin-gateway
spec:
  selector:
    istio: ingressgateway # use istio default ingress gateway
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    tls:
      mode: SIMPLE
      serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
      privateKey: /etc/istio/ingressgateway-certs/tls.key
    hosts:
    - "httpbin.example.com"
编辑 这很奇怪,但我有另一个想法

在pilot中有一个具有以下行的:

routeName := gatewayRDSRouteName(s, config.Namespace)
此更改通过添加 HTTPS RDS路由的命名空间后缀。端口名仍然必须为空 名称空间边界内唯一,但此更改会导致添加 更具体的范围界定相当琐碎

您是否可以尝试创建如下示例中所示的两个名称空间

范例

在适当的名称空间中部署部署、服务、虚拟服务和网关的所有内容,并让我知道这是否有效

你能试着把主机从*改成一些名字吗?除了尝试ServerCertificate和privateKey之外,这是我唯一想到的事情,但从评论来看,我想你已经尝试过了


如果有帮助,请告诉我。

我尝试使网关端口名唯一。这没用。只有一个网关可以工作。使用sds时,它们不能共存。我将尝试使用指定ServerCertificate和PrivateKey的旧方法。我注意到失败的调用中出现了错误的服务器证书。在下面的代码段中,它应该是CN=some.host.com….``$curl-v-k-noproxy**使用certpath初始化NSS:sql:/etc/pki/nssdb*跳过SSL对等证书验证*使用TLS\u ECDHE\u RSA\u和\u AES\u 128\u GCM\u SHA256*服务器证书进行SSL连接:*主题:CN=other.host.com,O=Dis,L=Springfield,ST=Denial,C=US…routeName := gatewayRDSRouteName(s, config.Namespace)
apiVersion: v1
kind: Namespace
metadata:
  name: httpbin
  labels:
    name: httpbin
    istio-injection: enabled
---
apiVersion: v1
kind: Namespace
metadata:
  name: nodejs
  labels:
    name: nodejs
    istio-injection: enabled