156 lines
4.6 KiB
Markdown
156 lines
4.6 KiB
Markdown
|
|
# 浏览器 Cookie 问题解决方案
|
|||
|
|
|
|||
|
|
## 问题现象
|
|||
|
|
点击 Account ID 登录后,服务器端显示登录成功(日志中有 `a/1000008`),但浏览器界面仍然显示 "ANONYMOUS"。
|
|||
|
|
|
|||
|
|
## 问题原因
|
|||
|
|
这是典型的 **浏览器 Cookie 问题**。服务器端登录成功,但浏览器没有正确保存或发送 Cookie。
|
|||
|
|
|
|||
|
|
## 解决方案
|
|||
|
|
|
|||
|
|
### 方案一:完全清除浏览器数据(最重要!)
|
|||
|
|
|
|||
|
|
**这是最关键的步骤,必须执行:**
|
|||
|
|
|
|||
|
|
1. **打开浏览器设置**:
|
|||
|
|
- Chrome/Edge: 点击右上角三个点 → 设置
|
|||
|
|
- 或直接按 `Ctrl+Shift+Delete`
|
|||
|
|
|
|||
|
|
2. **清除浏览数据**:
|
|||
|
|
- 时间范围:选择"所有时间"
|
|||
|
|
- 勾选以下选项:
|
|||
|
|
- ✅ Cookie 和其他网站数据
|
|||
|
|
- ✅ 缓存的图片和文件
|
|||
|
|
- ✅ 浏览历史记录
|
|||
|
|
- 点击"清除数据"
|
|||
|
|
|
|||
|
|
3. **关闭所有浏览器窗口**,重新打开浏览器
|
|||
|
|
|
|||
|
|
4. **重新访问**:`http://101.43.95.130:8080`
|
|||
|
|
|
|||
|
|
### 方案二:使用无痕模式(推荐测试)
|
|||
|
|
|
|||
|
|
1. 按 `Ctrl+Shift+N` 打开无痕窗口
|
|||
|
|
2. 访问:`http://101.43.95.130:8080`
|
|||
|
|
3. 点击 Account ID 登录
|
|||
|
|
4. 如果无痕模式下可以登录,说明是浏览器缓存问题
|
|||
|
|
|
|||
|
|
### 方案三:检查浏览器 Cookie 设置
|
|||
|
|
|
|||
|
|
1. **检查是否阻止了第三方 Cookie**:
|
|||
|
|
- Chrome/Edge: 设置 → 隐私设置和安全性 → Cookie 和其他网站数据
|
|||
|
|
- 确保允许 Cookie
|
|||
|
|
|
|||
|
|
2. **检查网站特定的 Cookie 设置**:
|
|||
|
|
- 在地址栏点击锁图标或"不安全"
|
|||
|
|
- 查看 Cookie 设置
|
|||
|
|
- 确保允许 Cookie
|
|||
|
|
|
|||
|
|
### 方案四:手动检查 Cookie
|
|||
|
|
|
|||
|
|
1. **打开开发者工具**:
|
|||
|
|
- 按 `F12` 打开开发者工具
|
|||
|
|
- 切换到 **Application**(应用程序)标签(Chrome)或 **存储** 标签(Firefox)
|
|||
|
|
|
|||
|
|
2. **查看 Cookie**:
|
|||
|
|
- 左侧选择 **Cookies** → `http://101.43.95.130:8080`
|
|||
|
|
- 登录后,应该能看到 Gerrit 相关的 Cookie(如 `GerritAccount`)
|
|||
|
|
|
|||
|
|
3. **如果没有 Cookie**:
|
|||
|
|
- 说明浏览器阻止了 Cookie
|
|||
|
|
- 需要检查浏览器设置
|
|||
|
|
|
|||
|
|
### 方案五:使用不同的浏览器测试
|
|||
|
|
|
|||
|
|
如果当前浏览器有问题,可以尝试:
|
|||
|
|
- Chrome
|
|||
|
|
- Firefox
|
|||
|
|
- Edge
|
|||
|
|
- Safari
|
|||
|
|
|
|||
|
|
## 验证登录是否成功
|
|||
|
|
|
|||
|
|
### 方法一:查看浏览器开发者工具
|
|||
|
|
|
|||
|
|
1. 按 `F12` 打开开发者工具
|
|||
|
|
2. 切换到 **Network**(网络)标签
|
|||
|
|
3. 刷新页面
|
|||
|
|
4. 查看任意请求的 **Headers**(请求头)
|
|||
|
|
5. 在 **Request Headers** 中查找 `Cookie:` 字段
|
|||
|
|
6. 如果看到 `GerritAccount=...` 等 Cookie,说明 Cookie 已保存
|
|||
|
|
|
|||
|
|
### 方法二:查看服务器日志
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd /home/renjianbo/gerrit_install/review_site
|
|||
|
|
tail -f logs/httpd_log
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
登录后,日志中应该显示 `a/1000008`(已登录),而不是 `-`(匿名用户)。
|
|||
|
|
|
|||
|
|
## 当前配置
|
|||
|
|
|
|||
|
|
已更新的配置:
|
|||
|
|
- `canonicalWebUrl = http://101.43.95.130:8080/`
|
|||
|
|
- `cookieSecure = false`(允许 HTTP 使用 Cookie)
|
|||
|
|
- `cookieSameSite = LAX`(允许跨站 Cookie)
|
|||
|
|
|
|||
|
|
## 如果仍然无法登录
|
|||
|
|
|
|||
|
|
### 检查清单
|
|||
|
|
|
|||
|
|
1. ✅ 已清除浏览器缓存和 Cookie
|
|||
|
|
2. ✅ 已关闭并重新打开浏览器
|
|||
|
|
3. ✅ 浏览器允许 Cookie
|
|||
|
|
4. ✅ 使用正确的访问地址:`http://101.43.95.130:8080`
|
|||
|
|
5. ✅ 服务器日志显示登录成功(`a/1000008`)
|
|||
|
|
|
|||
|
|
### 进一步排查
|
|||
|
|
|
|||
|
|
如果以上都做了还是不行,请:
|
|||
|
|
|
|||
|
|
1. **检查浏览器控制台**:
|
|||
|
|
- 按 `F12` → **Console**(控制台)标签
|
|||
|
|
- 查看是否有 JavaScript 错误
|
|||
|
|
|
|||
|
|
2. **检查网络请求**:
|
|||
|
|
- 按 `F12` → **Network**(网络)标签
|
|||
|
|
- 刷新页面
|
|||
|
|
- 查看登录相关的请求(`/login?account_id=1000008`)
|
|||
|
|
- 检查响应头中是否有 `Set-Cookie` 字段
|
|||
|
|
|
|||
|
|
3. **提供信息**:
|
|||
|
|
- 浏览器类型和版本
|
|||
|
|
- 控制台的错误信息
|
|||
|
|
- 网络请求的详细信息
|
|||
|
|
|
|||
|
|
## 临时解决方案
|
|||
|
|
|
|||
|
|
如果 Cookie 问题无法解决,可以:
|
|||
|
|
|
|||
|
|
1. **每次访问都重新登录**(虽然麻烦,但可以工作)
|
|||
|
|
2. **使用 SSH 方式操作**(不依赖 Web 登录)
|
|||
|
|
3. **考虑使用反向代理配置 HTTPS**(可以解决一些 Cookie 问题)
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
### Q: 为什么服务器显示登录成功,但浏览器还是匿名?
|
|||
|
|
|
|||
|
|
A: 这是 Cookie 问题。服务器端已经识别了您的身份,但浏览器没有保存或发送 Cookie,所以每次请求都被当作匿名用户。
|
|||
|
|
|
|||
|
|
### Q: 清除缓存后还是不行?
|
|||
|
|
|
|||
|
|
A: 请尝试:
|
|||
|
|
1. 完全关闭浏览器(不只是关闭标签页)
|
|||
|
|
2. 使用无痕模式测试
|
|||
|
|
3. 检查浏览器是否安装了阻止 Cookie 的扩展程序
|
|||
|
|
4. 尝试不同的浏览器
|
|||
|
|
|
|||
|
|
### Q: 无痕模式下可以登录,正常模式不行?
|
|||
|
|
|
|||
|
|
A: 说明是浏览器缓存或扩展程序的问题。请:
|
|||
|
|
1. 禁用所有浏览器扩展程序
|
|||
|
|
2. 清除浏览器数据
|
|||
|
|
3. 重新尝试
|
|||
|
|
|