在通过命令行使用curl时,HAproxy不会将请求从http转发到https

时间:2016-05-17 22:23:25

标签: redirect ssl https acl haproxy

我已经配置了HAProxy。这会通过浏览器将某些域从http重定向到https。它通过浏览器满足我的所有要求。

但是当我尝试通过curl(命令行)使用api时,当我使用http://时它无效

我怀疑的是我如何将所有curl或命令行请求重定向到https。这是我尝试使用http curl时的输出。

$ curl -s -v  -u $USER:$PASS -X GET -H "Content-Type: application/json" http://<IP>/rest/api/2/project/
*   Trying 192.168.1.21...
* Connected to test-jira.example.com (192.168.1.21) port 80 (#0)
* Server auth using Basic with user 'prash.castlestreet'
GET /rest/api/2/project/ HTTP/1.1
Host: prash.castlestreet.example.com
Authorization: Basic cHJhZGVlcC5jaGVydXRodWRpeWlsZ2lyaWphdmFsbGFiaGFuOlZlcml6b24h
User-Agent: curl/7.43.0
Accept: */*
Content-Type: application/json

HTTP/1.1 302 Found
Cache-Control: no-cache
Content-length: 0
Location: https://prash.castlestreet.example.com/rest/api/2/project/
Connection: close

Closing connection 0

谢谢, 黄芪多糖

1 个答案:

答案 0 :(得分:2)

HAProxy似乎完全正常工作。

您遇到的问题是,除非您通过添加-L--location命令行选项明确告知它,否则curl不会遵循HTTP重定向。