RHEL8中wget默认无法建立SSL连接,如何适配luarocks隐式调用?
解决RHEL 8.7上wget默认SSL连接失败(适配luarocks)
问题原因
RHEL 8.7自带的wget默认TLS协议配置与GitHub raw仓库的要求不兼容,未启用足够的TLS版本(TLSv1.2或TLSv1.3),触发GnuTLS: No or insufficient priorities were set错误。
解决方案
方法1:修改wget默认配置(全局/用户级)
让所有wget调用自动使用兼容的TLS版本:
- 用户级配置(仅当前用户生效):
创建或编辑~/.wgetrc文件,添加以下内容(二选一即可):
或secure_protocol = TLSv1_2secure_protocol = TLSv1_3 - 全局配置(所有用户生效):
编辑/etc/wgetrc文件,添加上述任意一行配置,保存后即时生效。
方法2:修改luarocks配置,指定wget参数
直接让luarocks调用wget时自动带上兼容参数:
- 找到luarocks配置文件:用户级为
~/.luarocks/config.lua,系统级为/etc/luarocks/config.lua。 - 定位到
variables区块的WGET配置项,修改为:
也可替换为variables = { WGET = "wget --secure-protocol TLSv1_2", -- 其他原有配置项保持不变 }TLSv1_3。 - 保存配置后,luarocks后续调用wget时会自动加载指定的TLS协议参数。
验证配置
执行以下命令测试wget默认行为是否恢复正常:
wget https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/manifest-5.3
若能成功下载文件,说明配置生效,此时luarocks无需额外参数即可正常拉取包信息。
内容的提问来源于stack exchange,提问作者elster
相关产品推荐
相关产品推荐

