出于某种原因,我无法在我的 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
如果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)
默认情况下,如何将其应用于所有虚拟主机,而不必为每个子域编写它?
我们的集群上有一个 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) 我有一个连接到 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 / …