dfa*_*aro 6 rest routing http nginx http-proxy
我想使用Nginx作为HTTP代理服务器.
在后端,我们有3个用Java编写的不同应用程序,每个应用程序都暴露一个RESTful API.每个应用程序在API上都有自己的前缀.
例如:
Run Code Online (Sandbox Code Playgroud)APP 1 - URI prefix: /api/admin/** APP 2 - URI prefix: /api/customer/** APP 3 - URI prefix: /api/support/**
在前端,我们有一个SPA页面向这些URI发出请求.
有没有办法告诉Nginx根据URI前缀路由HTTP请求?
提前致谢!
我很确定你可以使用nginx代理转发根据你的几个uri前缀重新路由.我使用nginx代理转发.您的示例我改编自一个页面,该页面提供了有关uri前缀的信息(我在此处保留了/ foo条目以供您比较):
https://serverfault.com/questions/379675/nginx-reverse-proxy-url-rewrite
另请参阅(注意proxy_pass与proxy_redirect的区别),http: //nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
使用您的代码,位置将类似于:
server {
listen 80;
server_name www.example.com;
location /api/admin {
proxy_pass http://localhost:3200/;
}
location /api/customer {
proxy_pass http://localhost:3200/;
}
location /api/support {
proxy_pass http://localhost:3200/;
}
location /foo {
proxy_pass http://localhost:3200/;
}
Run Code Online (Sandbox Code Playgroud)
}
正如我提到的链接一样,请注意每个位置指令末尾的正斜杠,它在前缀后启用了野性梳理.当然,每个路径被重定向到的URL都不需要全部相同 - localhost:3200 - 就像它们在这个例子中一样.
| 归档时间: |
|
| 查看次数: |
6954 次 |
| 最近记录: |