小编ccl*_*oyd的帖子

在 Google Compute Instance 上打开 443?

出于某种原因,我无法在我的 google 计算实例上打开端口 443。我在实例上启用了 HTTPS 服务器,使用gcloud compute firewall-rules list返回以下规则:

NAME                    NETWORK  DIRECTION  PRIORITY  ALLOW                         DENY
default-allow-http      default  INGRESS    1000      tcp:80
default-allow-https     default  INGRESS    1000      tcp:443
default-allow-icmp      default  INGRESS    65534     icmp
default-allow-internal  default  INGRESS    65534     tcp:0-65535,udp:0-65535,icmp
default-allow-rdp       default  INGRESS    65534     tcp:3389
default-allow-ssh       default  INGRESS    65534     tcp:22
Run Code Online (Sandbox Code Playgroud)

然而,当我使用类似nmap它说它已关闭的东西检查端口是否打开时。

PORT     STATE  SERVICE
22/tcp   open   ssh
443/tcp  closed https
Run Code Online (Sandbox Code Playgroud)

编辑:这是该站点的我的 nginx conf 文件。 https://gist.github.com/cclloyd/e7f1183f3a018dbc32cd7c55e15375cf

https port-forwarding google-compute-engine gcloud

6
推荐指数
1
解决办法
4989
查看次数

所有子域的 Nginx 公共 IP 白名单

如果sites-enabled文件夹中有多个虚拟主机,我如何为所有虚拟主机设置一个通用白名单?

Aka 每个人都有这个街区

    allow 127.0.0.1;
    allow 192.168.0.0/16;
    allow x.x.x.x;
    deny all;
Run Code Online (Sandbox Code Playgroud)

默认情况下,如何将其应用于所有虚拟主机,而不必为每个子域编写它?

nginx

6
推荐指数
1
解决办法
1万
查看次数

LAN 的 Kubernetes Ingress 白名单源范围

我们的集群上有一个 Kubernetes 入口。我们希望限制只有那些从我们的 LAN ( ) 内访问它的人才能访问它10.0.0.0/16。所以在入口注释中,我有nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/16".

但这仍然允许来自任何地方的流量。将其设置为10.0.0.0/24(我们的 DHCP 范围),它根本不允许任何流量。

当我检查 nginx-ingress-controller 日志时,我看到

10.0.10.1 - - [15/Oct/2019:05:40:46 +0000] “GET / HTTP/2.0” 200 2073 “-” “curl/7.54.0” 38 0.019 [wfs-ipa-8443] [] 10.0.1.2:8443 2073 0.020 200 a2d2053149dd26a490251439629134ff

这表明它将源 IP 视为入口控制器 Pod 当前正在运行的节点。我怎样才能让它将源IP视为他们的LAN IP或我们拥有的单个WAN IP?

编辑:

ingress.yml:

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ipa
  namespace: wfs
  annotations:
    kubernetes.io/ingress.class: "nginx"
    certmanager.k8s.io/cluster-issuer: "letsencrypt-prod"
    ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/use-proxy-protocol: "true"
    nginx.ingress.kubernetes.io/auth-tls-verify-client: "off"
    nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/16"

spec:
  tls:
    - hosts: …
Run Code Online (Sandbox Code Playgroud)

nginx kubernetes

5
推荐指数
1
解决办法
3774
查看次数

nginx-ingress 到 Kubernetes 仪表板的 400 错误

我有一个连接到 Kubernetes 仪表板的入口,但在尝试访问它时出现 400 错误。

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/auth-tls-verify-client: "false"
    nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/16"
spec:
  tls:
    - hosts:
        - kube.example.com
      secretName: dashboard-tls  # confirmed is valid LE cert
  rules:
    - host: kube.example.com
      http:
        paths:
          - backend:
              serviceName: kubernetes-dashboard
              servicePort: 443
Run Code Online (Sandbox Code Playgroud)

这给了我 nginx pod 中的 400 错误。

2020/08/28 01:25:58 [error] 2609#2609: *795 readv() failed (104: Connection reset by peer) while reading upstream, client: 10.0.0.25, server: kube.example.com, request :“GET / …

nginx kubernetes nginx-ingress

4
推荐指数
1
解决办法
2002
查看次数