
我正在使用運行 Ubuntu 14.04 的虛擬機,嘗試使用 apt-keys 為 nginx 新增金鑰。
其中大部分是透過木偶自動完成的,但我將手動完成整個過程以找出故障所在。
該機器位於公司代理後面,因此所有流量都通過 cntlm 路由,這工作正常,到目前為止沒有給我帶來任何問題。
失敗的命令大致如下:
gpg --debug-all -v --ignore-time-conflict --no-options --no-default-keyring --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
結果是:
gpg: requesting key 7BD9... from hkp server keyserver.ubuntu.com gpg: keyserver timed out gpg: keyserver recieve failed: keyserver error
使用 Wireshark 我可以看到為此完成的實際 HTTP 請求是
http://keyserver.ubuntu.com:80/pks/lookup?op=get&options=mr&search=0x573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
對相同 URL 使用 wget 可立即根據需要下載金鑰(無逾時/故障)
查看wireshark日誌,請求和回應看起來完全相同,兩種情況下都有傳出的HTTP GET和傳入的200 OK,每次都是後代理。
我不確定如何更深入地研究這個問題,並且希望能在正確的方向上推動以追蹤這個問題!