gpt4 book ai didi

kubernetes - 如何在 kubernetes 集群中运行 https 安全应用程序

转载 作者:行者123 更新时间:2023-12-05 01:34:52 25 4
gpt4 key购买 nike

我想在 https 上的 kubernetes 集群内运行我的应用程序,并通过 https 在集群外公开它。我创建了 pod 并公开了端口 443。之后,我创建了一个 ClusterIP 服务,它连接到端口 443 上的 pod 并公开端口 443。最后,我创建了一个连接到端口 443 上的服务的 ingress。我在 GKE 上使用 helm chart 部署了所有这些资源。我使用 NGINX Ingress Controller 。你可以找到图表here .

当我通过 https 在集群内部访问该应用程序时,它可以正常工作。

curl https://my-nginx.https-app-64-production --cacert /etc/nginx/ssl/tls.crt
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

但是,当我使用外部 URL 访问它时,出现以下错误。

curl https://staging.vs-creator.iotcrawler.eu/
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.9.1</center>
</body>
</html>

我无法弄清楚出了什么问题。我怀疑这与入口 Controller 配置有关。请帮我解决这个问题。

最佳答案

在入口资源中使用下面的注释

nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"

来自docs

Using backend-protocol annotations is possible to indicate how NGINXshould communicate with the backend service. (Replaces secure-backendsin older versions) Valid Values: HTTP, HTTPS, GRPC, GRPCS, AJP andFCGI

默认情况下,NGINX 使用 HTTP 将请求转发到后端 pod,这导致 400 The plain HTTP request was sent to HTTPS port 因为后端 pod 期待 HTTPS 请求。

关于kubernetes - 如何在 kubernetes 集群中运行 https 安全应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63525889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com