Nginx完美代理Alibaba Nacos
背景
微服务项目中用到了Alibaba Nacos来作为配置中心和服务注册中心。
在发布微服务应用的时候,需要提前在Nacos中进行配置。
但是生产环境仅开放了80端口,因此希望可以使用Nginx进行代理,与业务公用一个80端口号
配置
修改/etc/nginx/conf.d/default.conf
# WebSocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# 限制客户端文件上传最大大小
client_max_body_size 4096M;
#docker版Nginx需要增加此配置
#resolver 127.0.0.11 valid=30s;
#http节点中可以添加多个server节点
server{
listen 80;
# 配置真实域名
server_name _;
keepalive_timeout 70;
location ~ "^/cloud(/nacos/?.*)" {
# 因为nginx和nacos在同一个docker网络,这里使用服务名进行访问
proxy_pass http://nacos:8848$1$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-