https://example.com/assets/content/foo.xmlの下に xml ファイルがありますが、 https://example.com/foo.xmlとしてアクセスしたいです。したがって、ブラウザの URL はhttps://example.com/foo.xmlである必要がありますが、 https://example.com/assets/content/foo.xmlの場所 からファイル コンテキストを取得します。haproxy に設定する方法は?
多くの解決策を試しましたが、どれもうまくいきませんでした。ここに私が試したものがありますが、これは完全に間違っています。
acl SEO_XML path_beg -i /foo.xml
http-request set-header X-Location-Path %[capture.req.uri] if SEO_XML
http-request replace-header X-Location-Path /foo.xml /assets/content/foo.xml if SEO_XML
http-request redirect location %[hdr(X-Location-Path)] if SEO_XML
use_backend shiba_dev_https if SEO_XML
次のように他の解決策も試しました:
reqrep ^([^\ :]*)\ /foo.xml/(.*) \1\ /assets/content/foo.xml/\2
http-request set-header Host example.com
http-request replace-path /foo.xml(.*) /assets/content/foo.xml\1
私はそれを行う方法がわからないので、これはどれもうまくいきませんでした。アイデアはありますか?
Haproxy バージョン = 1.8