小编low*_*k3y的帖子

Nginx每个位置/传递重写uri到proxy_pass

如果您希望通过基于位置的proxypass将URL请求代理到两个不同的后端,那么这是最快最干净的解决方案.

location /app1/ {
    alias /var/www/ruby/public;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  Host $http_host;
    proxy_redirect    off;
    try_files $uri $uri/ @ruby;
}

location @ruby {
    proxy_pass http://127.0.0.1:3000;
}

location /app2/ {
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  Host $http_host;
    proxy_redirect    off;
    try_files $uri $uri/ @other;
}

location @other {
    proxy_pass http://127.0.0.1:8080;
}
Run Code Online (Sandbox Code Playgroud)

使用此配置nginx传递"/ app1"或"/ app2"代理和后端无法识别url /命令..

例如,http://127.0.0.1:3000只有/messages在访问时才传递给http://<nginx>/app1/messages- 但在上面的配置中也传递/app1/http://127.0.0.1:3000/app1/messages.同样如此/app2

url rewrite nginx proxypass

15
推荐指数
1
解决办法
3万
查看次数

根据url/nginx设置内容配置

让nginx像url一样提供静态文件,http://foobar.tld/<random_dir>/<file_md5sum_as_filename>我希望如果我在url的末尾指定?f="filename.filetype"- nginx解析那末端的查询字符串(如果已指定)并准备新的内容dispose匹配指定的参数并且没有任何动态后端,这是不可能的.

或实例 http://foobar.tld/<random_dir>/<file_md5sum_as_filename>?f="foobar.pdf"

这样的事情可以用nginx/lua模块完成吗?有没有人有任何有用的例子或做过类似的事情?

regex lua nginx content-disposition

3
推荐指数
1
解决办法
2341
查看次数

标签 统计

nginx ×2

content-disposition ×1

lua ×1

proxypass ×1

regex ×1

rewrite ×1

url ×1