使用NGINX的auth_request进行统一jwt鉴权
NGINX的auth_request模块提供了一种统一的认证机制,可以在NGINX层面进行JWT鉴权,而不需要在每个后端服务中重复实现认证逻辑。首先我们定义一下nginx的配置,它的配置如下flat1234567891011121314151617181920212223242526272829303132333435363738server { listen 8965; # 鉴权接口,仅供 Nginx 内部 auth_request 使用 location = /auth { internal; # 该接口只能被 Nginx 内部请求,防止外部访问 # 转发到实际的认证服务 proxy_pass http://localhost:5001/a..
更多维护 Nginx 时,什么时候应该用 reload,什么时候应该用 restart?
本文是“攻玉计划”的一部分,翻译自 https://stackoverflow.com/questions/13525465/when-to-restart-and-not-reload-nginx/20215497问题描述使用 Nginx 时,什么情况下 reload 无法满足需求,而必须要使用 restart 命令呢?如果 Nginx 进程占用了过多内存,是不是应该用 restart 来重启?如果修改了 Nginx 的核心配置,或者某些插件的配置,是不是也需要使用 restart 命令?修改 Nginx 配置后,用户既可以使用 restart 也可以使用 reload 来使配置生效,见 Ubuntu 上 /etc/init.d/nginx -h 的输出。那么,哪种方案更优呢?回答 1reload 比 ..
更多让 Nginx 反向代理的程序获取客户端真实 IP
Nginx 配置添加以下内容:12345location / { proxy_pass http://127.0.0.1:8000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}其含义就是在反代时,在客户端发起的请求报文上添加 X-Real-IP 和 X-Forwarded-For 两个 HTTP 头。X-Real-IP 表示表观客户端地址,X-Forwarded-For,顾名思义,就是“为谁代理”的意思,这个可以用来嵌套式传输客户端真实地址。被代理的服务,只要能正确解析这两个头,就能获得客..
更多

APISIX的使用
APISIX是一款基于Openresty的动态、实时、高性能API网关,它提供了负载均衡、服务熔断等丰富的功能。安装服务在https://github.com/apache/apisix-docker中提供了很多很便利的docker配置,可以很方便的启动APISIX的相关服务。~ git clone git@github.com:apache/apisix-docker.git~ cd apisix-docker/example/~ docker-compose upStarting example_etcd_1 ... doneStarting example_grafana_1 ... doneStarting example_apisix-dashboard..
更多