- 更新 Gitea runner 配置,支持优化的 CI/CD 环境 - 完善 Harbor HTTPS 配置和远程访问支持 - 优化 Harbor 日志配置,改用 json-file 驱动 - 添加 Docker 构建加速和代理缓存脚本 - 新增完整的文档和使用指南 - 添加 AI 开发工具集成配置 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
75 lines
2.4 KiB
Bash
Executable File
75 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Harbor Web 访问快速修复脚本
|
||
# 解决 ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误
|
||
|
||
set -e
|
||
|
||
HARBOR_REGISTRY="192.168.1.83:8443"
|
||
NEW_CERT="/Users/brunogao/work/codes/tools/macos/harbor/server-cert.pem"
|
||
|
||
echo "🔧 Harbor Web 访问快速修复"
|
||
echo ""
|
||
|
||
# 检查新证书
|
||
if [ ! -f "$NEW_CERT" ]; then
|
||
echo "❌ 新证书文件不存在: $NEW_CERT"
|
||
exit 1
|
||
fi
|
||
|
||
echo "📋 新证书信息:"
|
||
openssl x509 -in "$NEW_CERT" -noout -subject -dates
|
||
|
||
# 检查证书是否包含正确的 SAN
|
||
echo ""
|
||
echo "🔍 检查证书主题备用名称 (SAN):"
|
||
openssl x509 -in "$NEW_CERT" -noout -text | grep -A 10 "Subject Alternative Name" | grep "IP Address"
|
||
|
||
echo ""
|
||
echo "🍎 配置 macOS 证书信任..."
|
||
|
||
# 添加到用户钥匙串
|
||
echo "🔐 添加证书到用户钥匙串..."
|
||
security add-trusted-cert -d -r trustRoot -k "$HOME/Library/Keychains/login.keychain" "$NEW_CERT" 2>/dev/null || echo "用户钥匙串添加失败,请手动操作"
|
||
|
||
# 添加到系统钥匙串(需要 sudo)
|
||
echo "🔐 尝试添加证书到系统钥匙串..."
|
||
if echo "$(whoami)" | grep -q "root" || [ -n "$SUDO_USER" ]; then
|
||
security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "$NEW_CERT" 2>/dev/null && echo "✅ 系统钥匙串添加成功"
|
||
else
|
||
echo "⚠️ 需要管理员权限添加到系统钥匙串"
|
||
echo " 请运行: sudo $0"
|
||
fi
|
||
|
||
echo ""
|
||
echo "🌐 测试证书连接..."
|
||
if openssl s_client -connect 192.168.1.83:8443 -servername 192.168.1.83 < /dev/null 2>/dev/null | grep -q "Verify return code: 18"; then
|
||
echo "✅ 证书连接正常(自签名)"
|
||
else
|
||
echo "❌ 证书连接异常"
|
||
fi
|
||
|
||
echo ""
|
||
echo "📱 浏览器访问建议:"
|
||
echo "1. 重启浏览器"
|
||
echo "2. 访问 https://${HARBOR_REGISTRY}"
|
||
echo "3. 如果仍有警告,点击 '高级' → '继续前往'"
|
||
echo ""
|
||
echo "💡 如果问题仍然存在,请手动信任证书:"
|
||
echo " 1. 双击证书文件: $NEW_CERT"
|
||
echo " 2. 在钥匙串中找到证书"
|
||
echo " 3. 双击证书 → 展开 '信任' → 设置为 '始终信任'"
|
||
echo " 4. 保存并重启浏览器"
|
||
|
||
echo ""
|
||
echo "🔄 重新登录 Docker:"
|
||
echo "admin123" | docker login "${HARBOR_REGISTRY}" -u admin --password-stdin && echo "✅ Docker 登录成功"
|
||
|
||
echo ""
|
||
echo "✅ 证书修复完成!"
|
||
echo ""
|
||
echo "🔗 测试访问:"
|
||
echo " https://localhost:8443"
|
||
echo " https://192.168.1.83:8443"
|
||
echo ""
|
||
echo "👤 登录信息: admin / admin123" |