Files
macos-tools/harbor/scripts/fix-web-access.sh
gaoandClaude 8f47f4e9ea feat: 完善 DevOps 工具链配置和优化 Harbor 服务
- 更新 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]>
2025-11-03 06:39:53 +08:00

75 lines
2.4 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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"