如何使用haproxy重定向url [英] How to redirect url using haproxy

查看:992
本文介绍了如何使用haproxy重定向url的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将 https:// myserver / myapplication / 重定向到 https://myserver.domain.com/myapplication/

这是我的haproxy配置

This is my haproxy configuration

frontend LB_http
   bind 10.123.122.112:80
   reqadd X-Forwarded-Proto:\ http
   default_backend LB


frontend LB_https
   bind 10.123.122.112:443 ssl crt /usr/local/apache2/conf/server.pem
   reqadd X-Forwarded-Proto:\ https
   default_backend LB

backend LB
   redirect scheme https if !{ ssl_fc }
   mode http
   stats enable
   stats hide-version
   stats uri /stats
   stats realm Haproxy\ Statistics
   stats auth haproxy:redhat            # Credentials for HAProxy Statistic report page.
   balance roundrobin                   # Load balancing will work in round-robin process.
   option httpchk
   option httpclose
   option forwardfor

   server myserver.domain.com myserver.domain.com:80          # backend server.

我已经通过添加以下两行编辑了配置文件

I have edited the config file by adding the below two lines

acl no_domain hdr(host) -i myserver
http-request redirect code 301 prefix %[hdr(host)].domain.com%[path] if no_domain

但现在,当我尝试

myserver / myapplication /

myserver/myapplication/

我猜这个网址重定向多次。它将我重定向到这样的长网址

the url is redirecting multiple times I guess. It is redirecting me to very long url like this


HTTPS://myserver/myapplication/myserver.domain.com/myapplication/myserver.domain.com/myapplication/myserver.domain.com/myapplication/myserver.domain.com/myapplication/myserver.domain.com/myapplication/myserver .domain.com / myapplication /

我缺少什么?

推荐答案

我修改了下面的代码并开始按预期工作

I have modified the code as below and it started working as expected

frontend LB_http
   bind 10.123.122.112:80
   reqadd X-Forwarded-Proto:\ http
   default_backend LB


frontend LB_https
   bind 10.123.122.112:443 ssl crt /usr/local/apache2/conf/server.pem
   reqadd X-Forwarded-Proto:\ https
   default_backend LB

backend LB
   acl no_domain hdr(host) -i myserver
   http-request redirect code 301 prefix https:\/\/myserver.domain.com if no_domain
   redirect scheme https if !{ ssl_fc }
   mode http
   stats enable
   stats hide-version
   stats uri /stats
   stats realm Haproxy\ Statistics
   stats auth haproxy:redhat            # Credentials for HAProxy Statistic report page.
   balance roundrobin                   # Load balancing will work in round-robin process.
   option httpchk
   option httpclose
   option forwardfor

   server myserver.domain.com myserver.domain.com:80          # backend server.

现在当我给出


myserver / myapplication

myserver/myapplication

重定向到


https://myserver.domain.com/myapplication

这篇关于如何使用haproxy重定向url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆