2016-08-08 17 views
2

バックエンドサーバーから404応答を受信すると、新しい場所にリダイレクトされるようにしようとしています。 404を受け取らない場合、私はそれを正常に応答したいと思います。応答ステータスコードに基づくhaproxyリダイレクト

これは私には意味をなされますが、動作していないよう:

frontend front 
    option httplog 
    bind *:8080 
    default_backend    app 

backend app 
    balance  roundrobin 
    acl document_request path_beg -i /documents 
    acl not_there status 404 
    http-request redirect location http://newlocation/%[path] if document_request not_there 
    server webserver1 10.10.10.10:8080 check 

私は次の警告受信:それだけで互換性のないキーワードを含むので

ACL「not_there」は一致しませんが「バックエンドHTTPリクエストヘッダのルール」

と私はCentOSに7

にこの作業を行う方法上の任意のアイデアをバージョン1.5.14を使用していますか?私は何をしようとしているのですか?

ご協力いただければ幸いです。

おかげで、

AL

答えて

1

http-request redirectは、要求を検査条件に基づいて要求を(任意に)リダイレクト。

statusは、応答を検査することしかできません。 'http-requestヘッダールールと互換性がありません'は、statusがHTTP応答ルールとのみ互換性があることを意味します。

ステータスコードを取得した時点では、その応答のみを書き換えることができます。 位置とステータスをhttp-response set-header respで編集してみてください。 set-status

バージョン1.6以降、http-response redirectを使用できます。

関連する問題