文章目录
【后端】Nginx+lua+OpenResty高性能实践
参考: https://blog.csdn.net/u010837612/article/details/123275026
1. 问题
在k8s
中使用nginx
作为后端接口反向代理,大概配置如下:
location /api {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://api-server-svc:8080/;
}
其中api-server-svc
是后端服务的serviceName
这个配置会有两个问题:
2.解决办法
修改nginx
配置如下:
# dns设置缓存时间5s,解决问题2
resolver kube-dns.kube-system.svc.cluster.local valid=300s;
# 使用变量方式,解决问题1
set $apiserver api-server-svc.xxx.svc.cluster.local;
location /api {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
rewrite /api/(.*) /$1 break;
proxy_pass http://$apiserver:8080;
}