更改 http 响应中的位置
changing Location in the http response
访问 https://myexample.com/adminui/ 服务器时发送 303,我在浏览器中收到如下响应
http://uaa.devtest3.io/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://admin.devtest3.io/login
我要它改
http://myexample.com/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://myexample.com/adminui/login
我尝试了 haproxy.config 文件中的以下条目,但这不起作用。
resirep ^Location:\ http://uaa.devtest3.io/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://admin.devtest3.io/login Location:\ http://myexample.com/uaa/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://myexample.com/adminui/login
已更新
我需要进一步的帮助来改变
https://uaa.devtest3.io/login;jsessionid=4A0ADA8DDB7CD09C2B50F4A41945BBDB to https://myexample.com/uaa/login;jsessionid=4A0ADA8DDB7CD09C2B50F4A41945BBDB
我试过了
rspirep ^Location:\ (https?://uaa.devtest3.io;jsessionid=([0-9A-Z](.*) )Location:\ myexample.com if hdr_location
这不是 working.I 感觉我正在使用的正则表达式 wrong.I 不是这个正则表达式的经文。
请在这方面指导我
首先,据我所知,resirep
命令似乎并不存在。我认为您需要的命令是 rspirep
。其次,如果您使用的是 HAProxy 1.5 或更低版本,则需要转义 /
、&
和 ?
以及空格。
生成的配置:
rspirep ^Location:\ http:\/\/uaa.devtest3.io\/oauth\/authorize\?response_type=code\&client_id=admin_ui_client\&redirect_uri=https:\/\/admin.devtest3.io\/login Location:\ http:\/\/myexample.com\/uaa\/oauth\/authorize\?response_type=code\&client_id=admin_ui_client\&redirect_uri=https:\/\/myexample.com\/adminui\/login
希望对您有所帮助。
更新*修复
rspirep ^Location:\ https:\/\/uaa.devtest3.io\/login;jsessionid=([0-9A-Z]*) Location:\ https:\/\/myexample.com\/uaa\/login;jsessionid=
([0-9A-Z]*)
- 匹配并捕获包含大写字母和数字的任意长度的字符串。
- 将第一个捕获的字符串放在这里
*在 HAProxy 1.5.15 中测试。
访问 https://myexample.com/adminui/ 服务器时发送 303,我在浏览器中收到如下响应
http://uaa.devtest3.io/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://admin.devtest3.io/login
我要它改
http://myexample.com/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://myexample.com/adminui/login
我尝试了 haproxy.config 文件中的以下条目,但这不起作用。
resirep ^Location:\ http://uaa.devtest3.io/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://admin.devtest3.io/login Location:\ http://myexample.com/uaa/oauth/authorize?response_type=code&client_id=admin_ui_client&redirect_uri=https://myexample.com/adminui/login
已更新 我需要进一步的帮助来改变
https://uaa.devtest3.io/login;jsessionid=4A0ADA8DDB7CD09C2B50F4A41945BBDB to https://myexample.com/uaa/login;jsessionid=4A0ADA8DDB7CD09C2B50F4A41945BBDB
我试过了
rspirep ^Location:\ (https?://uaa.devtest3.io;jsessionid=([0-9A-Z](.*) )Location:\ myexample.com if hdr_location
这不是 working.I 感觉我正在使用的正则表达式 wrong.I 不是这个正则表达式的经文。 请在这方面指导我
首先,据我所知,resirep
命令似乎并不存在。我认为您需要的命令是 rspirep
。其次,如果您使用的是 HAProxy 1.5 或更低版本,则需要转义 /
、&
和 ?
以及空格。
生成的配置:
rspirep ^Location:\ http:\/\/uaa.devtest3.io\/oauth\/authorize\?response_type=code\&client_id=admin_ui_client\&redirect_uri=https:\/\/admin.devtest3.io\/login Location:\ http:\/\/myexample.com\/uaa\/oauth\/authorize\?response_type=code\&client_id=admin_ui_client\&redirect_uri=https:\/\/myexample.com\/adminui\/login
希望对您有所帮助。
更新*修复
rspirep ^Location:\ https:\/\/uaa.devtest3.io\/login;jsessionid=([0-9A-Z]*) Location:\ https:\/\/myexample.com\/uaa\/login;jsessionid=
([0-9A-Z]*)
- 匹配并捕获包含大写字母和数字的任意长度的字符串。
- 将第一个捕获的字符串放在这里
*在 HAProxy 1.5.15 中测试。