我在生产中有一个Django应用程序,我的web服务器是Nginx。
我的应用程序位于/home/rouizi/blog,我的域名是example.com。我希望防止用户读取位于blog文件夹中的文件。
例如,使用我的实际配置,如果有人访问exemple.com/manage.py,他可以看到该文件的内容。我想给他看一个404 not found错误。
这是我的nginx配置:
/etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-e
我有一个由三个节点组成的群:
$ sudo docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
i12s3zxsn4vu1c98bv3i5idr8 node03 Ready Active
i2ckxvsju4tmommxim3dbfq7l node02 Ready Active
wak4isl46dn7p
具体来说,当我在谷歌的网站上跟踪,在GKE上设置nginx入口时,为什么我会有两个外部IP地址呢?
这两个IP地址用于输入资源和LoadBalancer类型的服务资源:
> kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
nginx-ingress example.com 1.1.1.1 80, 443 1d
> kubectl get service
NAME
我对此配置有一个问题。我的AWS ELB接受端口80上的TCP连接,并使用代理协议将它们转发到侦听端口8080的nginx实例。这个nginx节点应该使用ip_hash模块将用户绑定到特定的节点。
这工作得很好,但只使用了4个节点中的2个,而不是在所有节点之间进行负载平衡,以下是我的nginx配置
upstream socket_nodes {
ip_hash;
server a.server.com:2000;
server a.server.com:2001;
server a.server.com:2002;
server a.server.com