haproxy重定向方案https if!$ request_uri

时间:2014-10-13 16:43:50

标签: redirect haproxy

如果可以在某个网址上禁用https,我试试这个,但它无法正常工作。 我需要一个没有https和重定向的网站

frontend  http
    bind *:80
    mode http
    acl folder path_beg -i ^/somefolder/subfolder/.* ^/somefolder/subfolder2/.*
    redirect scheme https if !folder
    option http-server-close
    reqadd X-Forwarded-Proto:\ http
    option forwardfor header X-Real-IP
    default_backend nodes
frontend https
    bind *:443
    mode http
    option http-server-close
    reqadd X-Forwarded-Proto:\ https
    option forwardfor header X-Real-IP
    default_backend nodes
backend nodes
    balance leastconn
    server server1 10.10.10.7:80 cookie A check
    server server2 10.10.10.8:80 cookie A check

1 个答案:

答案 0 :(得分:1)

访问列表

acl folder path_dir -i /somefolder/subfolder/ /somefolder/subfolder2/

在后端你需要规则

redirect scheme https if !folder !{ ssl_fc }

之后 - 所有网站都重定向到htts,但如果uri包含/ somefolder / subfolder /或/ somefolder / subfolder2 /它可以通过http连接。

在nginx中,如果要将https重定向到http

,则需要添加一些规则
if ( $http_x_forwarded_proto = "https" ) {
rewrite ^/somefolder/subfolder2/ http://domain//somefolder/subfolder2/ permanent;
}