git 使用 CloudFlare 反向代理后推送不工作
git push not working after using CloudFlare reverse proxy
我最近开始使用 CloudFlare(反向代理)和我设置了 git push
部署的 DigitalOcean Droplet(根访问服务器)。
当然,git push
不再有效并且 returns 这个错误:
ssh: connect to host example.com port 22: Operation timed out
这很可能是因为 git
试图访问 CloudFlare 服务器上的存储库,而不是我的 DigitalOcean 服务器。
恢复 git push
功能的最佳方法是什么?
您需要更新遥控器的 URL 以使用原始 IP,或者在 CloudFlare 面板中添加 DNS A 记录,例如 raw.example.com
并禁用 CloudFlare 橙色云(因此它直接解析为您的主机)。然后更新您的 git 远程设置:
git remote set-url origin git@127.0.0.1:foo/bar.git
或
git remote set-url origin git@raw.example.com:foo/bar.git
已解决。
我注意到我可以 ssh
毫无问题地进入我的 digitalocean 服务器并意识到我是这样访问的:
root@35.25.234.243
(假 IP)
所以我将 git config
更改为使用我服务器的 IP 地址而不是域名,现在它工作正常。
Cloudflare 不错;它隐藏了您的 public IP。
只需在 /etc/hosts 文件中输入一个条目或将其手动添加到本地 DNS 服务器。
我最近开始使用 CloudFlare(反向代理)和我设置了 git push
部署的 DigitalOcean Droplet(根访问服务器)。
当然,git push
不再有效并且 returns 这个错误:
ssh: connect to host example.com port 22: Operation timed out
这很可能是因为 git
试图访问 CloudFlare 服务器上的存储库,而不是我的 DigitalOcean 服务器。
恢复 git push
功能的最佳方法是什么?
您需要更新遥控器的 URL 以使用原始 IP,或者在 CloudFlare 面板中添加 DNS A 记录,例如 raw.example.com
并禁用 CloudFlare 橙色云(因此它直接解析为您的主机)。然后更新您的 git 远程设置:
git remote set-url origin git@127.0.0.1:foo/bar.git
或
git remote set-url origin git@raw.example.com:foo/bar.git
已解决。
我注意到我可以 ssh
毫无问题地进入我的 digitalocean 服务器并意识到我是这样访问的:
root@35.25.234.243
(假 IP)
所以我将 git config
更改为使用我服务器的 IP 地址而不是域名,现在它工作正常。
Cloudflare 不错;它隐藏了您的 public IP。
只需在 /etc/hosts 文件中输入一个条目或将其手动添加到本地 DNS 服务器。