溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

haproxy定義規(guī)則

發(fā)布時間:2020-06-11 12:18:39 來源:網絡 閱讀:958 作者:weilovepan520 欄目:網絡安全

常用的acl匹配條件

    -i:不區(qū)分<value>中模式字符的大小寫;
    -f:從指定的文件中加載模式;    

    path_beg:用于測試請求的URL是否以<string>指定的模式開頭
        例:匹配url以/static、/p_w_picpaths、/javascript /stylesheets開頭
        acl url_static  path_beg  -i  /static /p_w_picpaths /javascript /stylesheets
    path_end:用于測試請求的URL是否以<string>指定的模式結尾
        例:匹配url以jpg、gif、png、css、js結尾
        acl url_static  path_end -i .jpg .gif .png .css .js
    hdr_beg:用于測試請求報文的指定首部的開頭部分是否符合<string>指定的模式
        例:匹配請求的主機以img、video、download或ftp開頭
        acl host_static hdr_beg(host) -i img. video. download. ftp.
        即匹配訪問的域名是img.baidu.com,video.baidu.com,download.baidu.com,ftp.baidu.com
    url_beg:匹配的是整個url
        例:匹配url為http://www.51yunv.com
        acl is_51yunv url_beg http://www.51yunv.com
        use_backend 51yunv if is_51yunv
    dst_port:判斷請求的端口

    hdr_sub:判斷客戶的user-agent

        例:判斷客戶端的user-agent是否為手機

        acl shouji hdr_sub(user-agent) -i android iphone

定義分發(fā)規(guī)則:

    根據(jù)請求的主機頭,實現(xiàn)不同項目的請求,分發(fā)到不同的backend

    hdr_beg(host):判斷主機頭

    

    acl is_www hdr_beg(host) -i www.51yunv.com

    acl is_wap hdr_beg(host) -i wap.51yunv.com

    acl is_erp hdr_beg(host) -i erp.51yunv.com

    acl is_interface hdr_beg(host) -i interface.51yunv.com

    use_backend tomcat_erp_v2 if is_erp

    use_backend tomcat_interface_v2 if is_interface

    use_backend tomcat_web_v2 if is_www

    use_backend tomcat_mobile_v2 if is_wap

    

    通過定義以上規(guī)則即可實現(xiàn)訪問不同的域名分發(fā)到不同的backend

定義重定向規(guī)則:

    prefix:表示重定向url
    location:表示重定向訪問路徑,即url不變,url后邊跟的路徑發(fā)生改變


    redirect prefix http://weihu.51yunv.com/PC if is_www

    redirect prefix http://weihu.51yunv.com/H5 if is_wap

    說明:

        當訪問is_www時,重定向到weihu.51yunv.com/PC

        當訪問is_wap時,重定向到weihu.51yunv.com/H5

定義放行規(guī)則:

    僅放行通過驗證的IP地址或者IP范圍段;

    例:如果訪問的是is_www,但來源IP不是指定的IP時,用http-request deny進行拒絕;

        acl is_www hdr_beg(host) -i www.51yunv.com
        acl is_dns src 116.211.121.0/24 218.65.212.0/24
        http-request deny if is_www  !is_dns(滿足條件的直接進行拒絕)  

        也可以寫為:

        acl is_www hdr_beg(host) -i www.51yunv.com
        acl is_dns src 116.211.121.0/24 218.65.212.0/24
        user_backend www if is_www  is_dns(兩個條件同時滿足才使用后端的www)

    說明:

        源地址有多個時,用空格進行隔開

定義手機只能訪問手機端,電腦端只能訪問電腦端規(guī)則:

    當手機訪問www.51yunv.com時轉發(fā)到wap.51yunv.com

    當電腦訪問wap.51yunv.com時轉發(fā)到www.51yunv.com

    acl is_shouji hdr_sub(user-agent) -i android iphone
    acl is_diannao hdr_beg(host) www
    redirect prefix http://wap.51yunv.com if shouji
    redirect prefix http://www.51yunv.com if is_diannao !is_shouji

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI