我有多台机器在外地,并希望有无人值守的升级,这似乎支持apt-get。但是,我想将不同的主机更新到不同的版本,例如返回不同的Packages.gz文件。但是,检查从apt-get发送的http-头,我看到了以下内容:
Content-Length:
User-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)
Host: localhost:9991
Cache-Control: max-age=0
Content-Type: 没有谁发送了请求的信息。我知道这对于普通的使用是很好的,但是有什么方法可以配置apt-get来发送Authorization头中的JWT令牌吗?
发布于 2017-09-06 10:30:45
我不认为这是可能的直接,但我可以看到两种方法,你可以绕过它:
1)代理
2)服务器管理系统
您可以在每个托管服务器上设置一个代理,在转发请求之前添加所需的标头,因此从管理服务器端您的请求具有所需的标头。为此,您可以使用预先构建的代理,也可以使用这代码作为起点。
作为另一种选择,您可以使用一个系统,如景观,它具有以下特性。
它对多达10台服务器是免费的,设置说明是这里。
在检查了来源之后,此时似乎不可能设置自定义标头,似乎只设置了以下标头:
如果您真的想要的话,您可以始终将您的auth有效负载隐藏在用户代理头中,但这并不是按照请求添加一个新的头。
发布于 2018-03-27 21:45:13
不确定JWT,但您肯定可以添加一个基于客户端证书的身份验证,如果这是您的主要关注点的话,这将大大有助于保护您的包。
apt-获取安装apt-传输-https
并获得配置设置。
Acquire::https::packagedomain.name.com::Verify-Peer "false";
Acquire::https::packagedomain.name.com::Verify-Host "false";
Acquire::https::packagedomain.name.com::CaInfo "/certs/ca.pem";
Acquire::https::packagedomain.name.com::SslCert "/path/clientcert.pem";
Acquire::https::packagedomain.name.com::SslKey "/path/clientkey.pem";在nginx端启用以下指令
"ssl_client_certificate",
"ssl_verify_client",https://askubuntu.com/questions/793512
复制相似问题