问题标签 [nginx-ingress]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - 在 Nginx 入口控制器的 conf.d 中设置 ssl_certificate 路径
我需要在 Nginx 入口控制器中设置 conf.d 文件。我需要更改的字段是 ssl_certificate 和 ssl_certificate_key。
我会为 yaml 示例感到高兴。
kubernetes - 从 http 到 https 的重定向不适用于 Kubernetes Nginx Ingress Controller 中的自定义后端服务
我在 Kubernetes 中使用 Ingress 资源设置了自定义 Nginx 入口控制器,而不是“default-http-backend 服务”,我使用自定义应用程序作为默认后端服务,为默认请求提供服务。我还为我的服务使用了设置为 kubernetes 机密的自定义 SSL。问题是当我请求规则中提到的主机名时,https 重定向有效。但是当发出规则中提到的主机以外的请求时,它服务于默认应用程序,但 https 重定向不起作用。
对于包括默认请求在内的所有请求,如何将请求从 http 重定向到 https。换句话说,如何在入口资源中为通配符域设置 https 重定向。
请找到我的 yaml 文件以获取入口资源。
kubernetes - 使用 nginx/traefik 入口控制器自定义 vhost 配置
我有一个服务于多个 /locations 的服务。我想使任何 IP 都可以访问单个位置 /how/very/special,同时保持每个其他 /location 只能对受信任的 IP 列表访问(如果可以的话,这很简单
通过 traefik 或入口控制器实现这一目标的最佳实践方法是什么?Sidecar nginx 是添加此逻辑的唯一方法吗?
kubernetes - Kubernetes Nginx Ingress HTTP 到 HTTPS 通过 301 而不是 308 重定向?
我们在 Azure AKS 上运行了几个 k8s 集群。该服务(幽灵博客)位于 Nginx 入口的后面,并使用 Letsencrypt 的证书进行保护。所有这些都可以正常工作,但重定向行为是我遇到的问题。
Ingress 正确地从http://whatever.com重定向到 https://whatever.com — 问题是它使用 308 重定向来实现这一点,该重定向会在用户从网站共享页面时剥离所有帖子/页面 Meta .
该问题导致在大多数社交属性上共享网站任何页面的用户收到“预览链接”——其中页面标题和页面元预览不起作用,而是替换为“308 永久重定向”文本——看起来像这样:
从这里的 ingress-nginx 文档中,我可以看到这是预期的行为(即 308 重定向),我认为不是这些服务尝试创建页面预览时与社交共享服务的交互。
虽然这个问题可以通过 Facebook(或 twitter 等)默认直接指向 https 站点来解决,但我目前无法强制这些站点在 https 中查找将用于创建预览的内容。
设置永久重定向代码
我还可以看到,看起来我应该能够将重定向代码设置为我想要的任何内容(我相信 301 重定向将允许 Facebook 等人正确提取帖子/页面片段元),找到的文档在这里。
问题是当我按指定添加重定向代码注释时:
尽管能够(从我的 kubectl 代理)看到重定向代码注释正确应用,但我仍然在我的资源上获得 308 重定向。作为参考,我在 Ingress 上的完整注释列表如下所示:
重申一下——我的问题是;通过自定义错误代码(在我的情况下为 301)强制重定向到 https 的正确方法是什么?
kubernetes - 如何在 Kubernetes 中公开 Ingress 以供外部访问?
我在私有网络(私有服务器,不是 aws 或谷歌云)上有一个 kubernetes 集群,我创建了一个能够访问的服务,但是,我需要能够从集群外部访问,为此我创建了一个入口并在集群中添加了ingress-nginx。
这是我多次尝试后使用的 YAML:
我这样运行 yaml:kubectl create -f file.yaml
在 /etc/hosts 文件中,我将k8s.local添加到主服务器的 ip 中。
当尝试输入或输出主服务器的命令时,会出现“连接被拒绝”消息: $ curl http://172.16.0.18:80/ -H 'Host: k8s.local'
我不知道它是否重要,但我在集群中使用 Flannel。
我的想法只是创建一个“hello world”并将其暴露在集群之外!
我是否需要更改配置中的任何内容以允许此访问?
YAML 文件编辑:
nginx - Get requesters source IP
Issue:
x-forwarded-for
http header just shows 127.0.0.1 instead of the original ip
Setup
- GKE
- gitlab ingress controller
Details
I tried to adapt the ingress rule with nginx CORS enablement but no success.
Here my ingress Annotation for the service:
And here the output via echoheaders app:
nginx - 在 kubernetes GKE 上为 nginx 入口控制器设置缓存控制标头
我有一个 ingress-nginx 控制器来处理我在 GKE 上托管的 Kubernetes 集群的流量。我使用文档中的 helm 安装说明进行了设置:
在大多数情况下,一切正常,但如果我尝试通过server-snippet
注释设置缓存相关参数,则所有应获取缓存控制标头的服务内容都以404
.
这是我的ingress-service.yaml
文件:
同样,只有与正则表达式匹配的资源才会返回404
(所有.js
文件、.css
文件等)。
关于为什么会发生这种情况的任何想法?
任何帮助表示赞赏!
nginx - 只允许一台主机使用入口 nginx configmap 进行连接
我可以看到 nginx 有一个允许和拒绝的选项。我可以允许 host.domain.com 并拒绝所有使用 nginx 的人,请参阅: https: //support.hypernode.com/knowledgebase/blocking-allowing-ip-addresses-in-nginx/。
但是,我如何在入口的 ConfigMap 中描述它?我在文档https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/中看到了 block-cidrs 选项。一个示例 ConfigMap 会很有帮助。还是应该使用 nginx 模板来完成?
nginx - nginx.conf 忽略了 nginx-ingress 配置映射片段
我有一个 kubernetes 集群,我在其中使用helm nginx-ingress chart部署了一个 nginx 入口控制器。
我需要向 nginx-controller-pod 中生成的 nginx.conf 文件添加一些自定义配置,并且我看到一个问题,如果我添加一个单行选项,例如proxy-buffer-size: "512k"
我可以在 nginx.conf 中看到这一点文件,一切都按预期工作。
但是,如果我尝试添加一个片段来完成同样的事情:
好像这被 nginx.conf 文件忽略了,并且proxy_buffer_size
设置保持在它的默认值。
我需要能够添加和覆盖http-snippet
,但无论我尝试将它们添加到 ConfigMap 还是作为 Ingress.yaml 文件中的注释,它们总是被忽略。server-snippet
location-snippet
我的入口 yaml 文件:
我的 nginx 配置图: