需求是这样子的:
访问/service--env/xxx,能够反代到env.coder4.com/service/xxx上
其实location和proxy_pass是能够支持正则的,只是有一个很诡异的限制条件:proxy_pass中不能含有/,这个没搞懂原因。
最终的实现如下:
location ~ ^/service--([^/]*)/(.*)$ {
resolver 127.0.0.53;
set $venv $1;
set $new_uri /ser[......]
需求是这样子的:
访问/service--env/xxx,能够反代到env.coder4.com/service/xxx上
其实location和proxy_pass是能够支持正则的,只是有一个很诡异的限制条件:proxy_pass中不能含有/,这个没搞懂原因。
最终的实现如下:
location ~ ^/service--([^/]*)/(.*)$ {
resolver 127.0.0.53;
set $venv $1;
set $new_uri /ser[......]
https://support.huaweicloud.com/bestpractice-vpc/bestpractice_0010.html
这里讲述了Nginx的高可用部署方案
1 部署Nginx
两台机器均需要部署Nginx
假设网络环境:
2 安装keepalived
3 配置
A机:
! Configuration Fil[......]
1 配置
server {
....
location /webdav {
alias /tmp/webdav;
autoindex on;
dav_methods PUT DELETE MKCOL COPY MOVE;
#dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
cl[......]
add_header X-debug $suffix;
[......]
在Nginx中,有一些高级场景,需要根据url中的path参数,动态转发到不通的upstream
场景1
/svr1/xxxx?yyy 转发到 svr1:8080/xxxx?yyy
/svr2/xxxx?yyy 转发到 svr2:8080/xxxx?yyy
配置如下:
location ~* /(srv[1-9]+)/(.*)$ {
allow all;
proxy_pass http://$1/$2$is_args$args;
proxy_se[......]