2017-04-03 188 views
0

的HAProxy的文檔(http://cbonte.github.io/haproxy-dconv/1.7/intro.html#3.3.2)列爲基本特徵:請求發送到後端

身份驗證與後端服務器允許它真的是連接到它

預期HAProxy的節點的後臺服務器

我一直在試圖做到這一點,一直無法。所以這裏的問題是:

我如何發送請求到後端與自簽名證書進行身份驗證。 uses這個後端的前端請求,就是http。

這是我的haproxy.cfg文件:

global 
    maxconn 4096 
    daemon 
    log 127.0.0.1 local0 

defaults 
    log  global 
    option dontlognull 
    retries 3 
    option redispatch 
    maxconn 2000 
    timeout connect 5s 
    timeout client 15min 
    timeout server 15min 

frontend public 
    bind *:8213 
    use_backend api if { path_beg /api/ } 
    default_backend web 

backend web 
    mode http 
    server blogweb1 127.0.0.1:4000 

backend api 
    mode tcp 
    acl clienthello req.ssl_hello_type 1 

    tcp-request inspect-delay 5s 
    tcp-request content accept if clienthello 

    server blogapi 127.0.0.1:8780 
+0

請在配置中顯示您正在嘗試的內容。首先,無需身份驗證即可使用該服務器,證書安裝在後端,代理服務器使用'server'行中的'ssl verify none'來進行連接而無需身份驗證。 –

回答

0

我最終得到了這個開始工作。我相信拋棄我的是,在做了一個haproxy -f <configFile> -st之後,它並沒有像我想的那樣真正結束這個過程。所以,我的更改/更新都沒有。我kill -9幾十haproxy服務和重新命令(haproxy -f),現在它的工作。

現在,這是一個假設,雖然我對此非常有信心。我仍然會提出我的最終配置,以防萬一有人從這裏收集到一些東西。我用https://www.haproxy.com/doc/aloha/7.0/deployment_guides/tls_layouts.html。這個鏈接回答了我對「如何使用SSL驗證後端」的問題,就像文檔說的那樣。

global 
    maxconn 4096 
    daemon 
    log 127.0.0.1 local0 

defaults 
    log  global 
    option dontlognull 
    retries 3 
    option redispatch 
    maxconn 2000 
    timeout connect 5s 
    timeout client 15min 
    timeout server 15min 

frontend public 
    bind *:443 
    mode http 
    use_backend api if { path_beg /api/ } 

backend api 
    mode http 
    option httplog 
    server blogapi 127.0.0.1:4430 ssl ca-file <caFile.Pem> crt <clientCert.pem> verify required