我正在尝试向互联网提供 Yocto 缓存,并且我想通过基本身份验证对共享进行密码保护。
这有效:
$ curl http://foo:bla@localhost:8081/build/old-sstate-cache/ # OK!
$ curl -u foo:bla http://localhost:8081/build/old-sstate-cache/ # OK!
但是,在构建 Yocto 时,却并非如此。这是我的
local.conf
:
SSTATE_MIRRORS ?= "file://.* http://localhost:8081/build/old-sstate-cache/PATH;user=foo:bla"
查看服务器日志,显示 401(未经授权)。
url 中基本身份验证的语法是否适合构建?
对我来说,这有效:
SSTATE_MIRRORS ?= 'file://.* https://example.com/path/to/sstate/PATH;downloadfilename=PATH;user=foo;pswd=bar'
将
https://example.com/path/to/sstate/
替换为 sstate-cache 根目录的 URL。根据需要设置 user=
和 pswd=
。
安全注意事项:在 basicAuth 中使用 HTTP 而不是 HTTPS 存在以明文形式发送密码的问题。