使用GitHub Actions检测HTTP响应头安全失败,寻求解决方案
问题排查与解决办法
错误原因分析
你的工作流配置存在重复拉取仓库的冲突问题:
- 你通过
actions/checkout@v3手动拉取了marcuslindblom/security-headers仓库 - 随后又通过
uses: marcuslindblom/security-headers@v1.2.0调用该Action,GitHub Actions会自动拉取对应版本的Action代码,手动checkout的步骤会干扰Action的执行环境,引发报错。
另外,若https://someurl.com无法被GitHub Actions的Ubuntu runner正常访问(比如地域拦截、站点下线),也会触发请求类错误。
修复后的工作流配置
移除多余的actions/checkout步骤,保留核心Action调用逻辑即可:
name: security_header on: workflow_dispatch: push: pull_request: branches: - env/sbox - env/qa - env/production jobs: test_response_headers: runs-on: ubuntu-latest steps: - name: response-header-security-check id: security-check uses: marcuslindblom/security-headers@v1.2.0 with: url: https://someurl.com # url: ${{ secrets.SECURITY_HEADERS_URL }} followRedirects: true # This is optional grade: A
额外检查项
- 确认
url对应的站点可被GitHub Actions的Ubuntu环境正常访问(无拦截、无未授权验证) - 若使用密钥存储URL,确保
SECURITY_HEADERS_URL已正确配置在仓库Secrets中 - 检查
grade参数:该值为期望达到的最低安全等级,仅支持A-F的大小写敏感取值
内容的提问来源于stack exchange,提问作者basant
相关产品推荐
相关产品推荐

