Git 理解NGINX HTTP到HTTPS重定向

Git 理解NGINX HTTP到HTTPS重定向,git,redirect,nginx,https,Git,Redirect,Nginx,Https,我已设置nginx将HTTP流量重定向到HTTPS,如下所示: server { listen 80; server_name git.mydomain.it; return 301 https://$host$request_uri; } 我可以通过HTTPS和HTTP成功连接 当我做git克隆时http://git.mydomain.it/oznt/tracker.git 系统会提示我输入正确的URL: $ git clone http://git.my

我已设置nginx将HTTP流量重定向到HTTPS,如下所示:

server {

    listen 80;
    server_name git.mydomain.it;

    return 301 https://$host$request_uri;  

}
我可以通过HTTPS和HTTP成功连接

当我做
git克隆时http://git.mydomain.it/oznt/tracker.git
系统会提示我输入正确的URL:

 $ git clone http://git.mydomain.it/oznt/tracker.git
Cloning into 'tracker'...
Username for 'https://git.mydomain.it': 
到目前为止还不错。 但我想知道当我输入密码时会发生什么。是吗
就像我直接连接到
https://git.mydomain.it
还是它首先以明文形式在线路上传输到HTTP端点,然后被重定向

它应该是https,您可以通过查看本地
.git
文件夹中的
config
文件来检查它。注意:

[remote "origin"]
  url = https://foo.bar.git
编辑:如所写


我希望curl只遵循redirect(),这本质上意味着,您的密码确实可以通过HTTP进行转换。

这并不能解释我的git客户端和git服务器之间发生的实际通信。密码是怎么传送的?我还是不明白你的意思。这是关于HTTP的一般问题吗?也许这会对你有所帮助:我正在使用HTTP进行连接。因此,连接从A->B(其中A是我的计算机)转到B(服务器),然后将B重定向到C。所以问题是我的密码发生了什么。它是从A发送到B还是从A发送到C?我编辑了我的答案,希望它能回答你的问题我从你的回答中了解到了上面的链接。无论如何,我的git现在不再在普通HTTP上监听。在这里找到我的答案我不认为这回答了你的问题,但你比我更了解这个问题。;)
http_fetch () {
  # $1 = Remote, $2 = Local
  curl -nsfL $curl_extra_args "$1" >"$2"