curl、wget访问https连接出现Unable to establish SSL connection解决方法

现象

1
2
3
4
5
6
7
8
9
10
wget https://homebrew.bintray.com/bottles/sqlite-3.8.11.1.yosemite.bottle.tar.gz
--2015-10-06 23:30:06-- https://homebrew.bintray.com/bottles/sqlite-3.8.11.1.yosemite.bottle.tar.gz
Resolving homebrew.bintray.com... 108.168.194.92, 108.168.194.91
Connecting to homebrew.bintray.com|108.168.194.92|:443... connected.
HTTP request sent, awaiting response... 302
Location: https://d29vzk4ow07wi7.cloudfront.net/64056e6f127c71d87e97a84124a21aa1deebcda7?response-content-disposition=attachment%3Bfilename%3D%22sqlite-3.8.11.1.yosemite.bottle.tar.gz%22&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvNjQwNTZlNmYxMjdjNzFkODdlOTdhODQxMjRhMjFhYTFkZWViY2RhNz9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMnNxbGl0ZS0zLjguMTEuMS55b3NlbWl0ZS5ib3R0bGUudGFyLmd6JTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNDQ0MTQ2MTMwfSwiSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2VJcCI6IjAuMC4wLjAvMCJ9fX1dfQ__&Signature=foGWr-ukmBfhd72hxH9OaqlJ-96PZofxB-a87etMHjDnbkBOTE3a5gPD2zsnAL1Z7yQMqvgdm163HO4DICObSmacAfYeu5ELQL5NTtWnWYZOUckmgejuvylBILdIz182nXKQbgU~TPjC8ChCJYKFydMcH8qgWGc7DOB7sNf6DD2xOVcGWPjkppnmgdB8NNlI6z~oOvQCC-yGFT3WetbVrLl24PqR5nFlDHhajlWGrhEy-uTMTSC-JIKPreuTsdbum734bvyvHDSd7QY3Zvj4HFwBMXfYQx74ssLrBTEl6nsrenbPoym13j27htQj4CYdumuzuvbkDXU38LfKQ-o1Zg__&Key-Pair-Id=APKAIFKFWOMXM2UMTSFA [following]
--2015-10-06 23:30:10-- https://d29vzk4ow07wi7.cloudfront.net/64056e6f127c71d87e97a84124a21aa1deebcda7?response-content-disposition=attachment%3Bfilename%3D%22sqlite-3.8.11.1.yosemite.bottle.tar.gz%22&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvNjQwNTZlNmYxMjdjNzFkODdlOTdhODQxMjRhMjFhYTFkZWViY2RhNz9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMnNxbGl0ZS0zLjguMTEuMS55b3NlbWl0ZS5ib3R0bGUudGFyLmd6JTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNDQ0MTQ2MTMwfSwiSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2VJcCI6IjAuMC4wLjAvMCJ9fX1dfQ__&Signature=foGWr-ukmBfhd72hxH9OaqlJ-96PZofxB-a87etMHjDnbkBOTE3a5gPD2zsnAL1Z7yQMqvgdm163HO4DICObSmacAfYeu5ELQL5NTtWnWYZOUckmgejuvylBILdIz182nXKQbgU~TPjC8ChCJYKFydMcH8qgWGc7DOB7sNf6DD2xOVcGWPjkppnmgdB8NNlI6z~oOvQCC-yGFT3WetbVrLl24PqR5nFlDHhajlWGrhEy-uTMTSC-JIKPreuTsdbum734bvyvHDSd7QY3Zvj4HFwBMXfYQx74ssLrBTEl6nsrenbPoym13j27htQj4CYdumuzuvbkDXU38LfKQ-o1Zg__&Key-Pair-Id=APKAIFKFWOMXM2UMTSFA
Resolving d29vzk4ow07wi7.cloudfront.net... 205.251.219.135, 205.251.219.194, 205.251.219.215, ...
Connecting to d29vzk4ow07wi7.cloudfront.net|205.251.219.135|:443... connected.
Unable to establish SSL connection.

原因

呃(⊙o⊙)…

解决方法

  1. 执行时加参数,适合临时使用:

    1
    2
    3
    4
    5
    6
    7
    # curl
    curl –k https://www.superencrypted.com/server/isnot.tar.gz
    # 或者
    curl --insecure https://www.superencrypted.com/server/isnot.tar.gz

    # wget
    wget –no-check-certificate https://www.superencrypted.com/server/isnot.tar.gz
  2. 修改默认配置,适合不方便修改调用脚本的时候:

    1
    2
    3
    4
    5
    # curl
    echo "insecure" >> ~/.curlrc

    # wget
    echo "check_certificate = off" >> ~/.wgetrc

参考资料

  1. Curl和Wget访问HTTPS连接出现Unable to establish SSl connection错误
  2. How To Automatically Skip Wget SSL Certificate Check

扩展阅读

  1. wget命令参考
  2. .wgetrc文件可配置命令参考
  3. cURL参考文档
  4. .curlrc文件使用参考