aux*_*xdx 10 reverse-proxy amazon-web-services elastic-load-balancer
基本上,我有几个服务。我想将带有前缀“/secured”的每个请求转发到 server1 端口 80,并将所有其他请求转发到服务器 2 端口 80。问题是在 server1 上,我正在运行接受没有“/secured”前缀的请求的服务。换句话说,我希望每次请求,例如“转发http://example.com/secured/api/getUser ”到server1为“ http://example.com/api/getUser ”(删除/从请求固定”小路)。
使用 AWS ALB,当前请求以http://example.com/secured/api/getUser 的形式发送;这迫使我更新我的 server1 的代码,以便代码处理带有 /secured 前缀的请求,这看起来不太好。
有没有什么简单的方法可以用 ALB 解决这个问题?
谢谢。
不幸的是,我可以确认,仅靠 ALB 是不可能做到这一点的——而且我同意确实应该如此。
AWS 声明:
请注意,路径模式用于路由请求,但不会改变它们。例如,如果规则的路径模式为 /img/*,则该规则会将 /img/picture.jpg 的请求转发到指定的目标组,作为 /img/picture.jpg 的请求。
小智 4
我遇到了同样的问题,正如 Mark 指出的,您可以在服务器上使用反向代理并执行类似的操作(这是 Nginx 配置):
server {
listen 80 default_server;
location /secured/ {
proxy_pass http://localhost:{service_port}/;
}
}
Run Code Online (Sandbox Code Playgroud)
这将剥离 /secured 部分并将其他所有内容代理给您的服务。只要确保服务端口后面有 / 即可。
| 归档时间: |
|
| 查看次数: |
3953 次 |
| 最近记录: |