我已经在集群上的 GKE (GCP) 中安装了一个 nginx 控制器,并在一个 Rails 应用程序中设置了 Rack Attack 配置以限制访问。我们无法获取传入请求的远程 IP 地址。它不断返回入口 IP 而不是远程用户的 IP。我发现以各种形式多次提到这个问题。它提到向 nginx 代理配置添加设置。使用 github 上的标准公共文件安装了 nginx 控制器后,我不知道如何在此控制器上重新配置代理。我如何将新的代理配置应用于此设置?
请参阅下面的入口控制器 yaml:
apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2020-04-30T15:45:32Z"
labels:
app: nginx-ingress
chart: nginx-ingress-1.36.3
component: controller
heritage: Tiller
release: nginx-ingress
name: nginx-ingress-controller
namespace: nginx-ingress
resourceVersion: "113532709"
selfLink: /api/v1/namespaces/nginx-ingress/services/nginx-ingress-controller
uid: a045e8e8-8af9-11ea-8a88-42010a030a07
spec:
clusterIP: 10.163.8.100
externalTrafficPolicy: Cluster
ports:
- name: http
nodePort: 30487
port: 80
protocol: TCP
targetPort: http
- name: https
nodePort: 32616
port: 443
protocol: TCP
targetPort: https
selector:
app: nginx-ingress
app.kubernetes.io/component: controller
release: nginx-ingress
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: x.x.x.x