要将 Git 仓库的上传(推送)方式从 HTTP/HTTPS 改为 SSH,

要将 Git 仓库的上传(推送)方式从 HTTP/HTTPS 改为 SSH,核心是修改远程仓库的 URL 配置。具体步骤如下:

步骤 1:查看当前远程仓库地址

首先确认当前仓库使用的远程地址是否为 HTTP 格式,执行命令:

bash

运行

复制代码
git remote -v

输出类似如下(如果是 HTTP 格式):

plaintext

复制代码
origin  https://github.com/用户名/仓库名.git (fetch)
origin  https://github.com/用户名/仓库名.git (push)

(origin是远程仓库的默认名称,若你的远程仓库名称不同,需替换为实际名称)

步骤 2:获取仓库的 SSH 地址

登录你的代码托管平台(如 GitHub、GitLab、Gitee 等),进入仓库页面,找到 SSH 格式的远程地址。以 GitHub 为例,在仓库页面点击「Code」按钮,切换到「SSH」标签,复制类似如下的地址:

plaintext

复制代码
git@github.com:用户名/仓库名.git

步骤 3:修改远程仓库地址为 SSH 格式

使用 git remote set-url 命令修改远程地址,格式:

bash

运行

复制代码
git remote set-url 远程仓库名称 SSH地址

例如(默认远程名称为origin):

bash

运行

复制代码
git remote set-url origin git@github.com:用户名/仓库名.git

步骤 4:验证修改是否成功

再次执行 git remote -v 确认地址已变为 SSH 格式:

plaintext

复制代码
origin  git@github.com:用户名/仓库名.git (fetch)
origin  git@github.com:用户名/仓库名.git (push)

显示 SSH 地址即表示修改成功,后续git push会默认使用 SSH 方式。

注意:确保 SSH 密钥已配置

若首次使用 SSH 方式,可能需要先配置 SSH 密钥(否则推送会失败),步骤如下:

  1. 检查本地是否已有 SSH 密钥:

    bash

    运行

    复制代码
    ls -la ~/.ssh

    若存在 id_rsa(私钥)和 id_rsa.pub(公钥),则跳过生成步骤。

  2. 生成 SSH 密钥(若不存在):

    bash

    运行

    复制代码
    ssh-keygen -t rsa -C "你的邮箱地址"

    一路回车使用默认配置即可。

  3. 复制公钥内容:

    bash

    运行

    复制代码
    # Linux/Mac
    cat ~/.ssh/id_rsa.pub
    
    # Windows(使用Git Bash)
    cat /c/Users/你的用户名/.ssh/id_rsa.pub
  4. 在代码托管平台添加公钥:进入平台的「设置」→「SSH 密钥」→「添加新密钥」,粘贴复制的公钥内容并保存。

完成以上步骤后,即可通过 SSH 方式正常推送代码(git push)。

.net web 应用的<requestLimits maxAllowedContentLength="desired size">应该加在web.config文件的哪个节点下?

已完成思考

在.NET Web 应用(尤其是基于 IIS 托管的应用,如ASP.NET Web Forms、ASP.NET MVC 等)中,<requestLimits maxAllowedContentLength="[desired size]"> 用于配置 IIS 层面允许的请求内容最大长度(单位:字节),必须添加在 web.config 的 <system.webServer> 节点下的 <security> -> <requestFiltering> 子节点中。

具体位置和示例:

完整的配置层级为:configuration → system.webServer → security → requestFiltering → requestLimits

示例代码(设置最大请求长度为 100MB,即 104857600 字节):

xml

复制代码
<configuration>
  <!-- 其他配置节点 -->
  
  <system.webServer>
    <!-- IIS 相关配置 -->
    <security>
      <requestFiltering>
        <!-- 配置请求限制 -->
        <requestLimits maxAllowedContentLength="104857600" /> <!-- 100MB = 100 * 1024 * 1024 字节 -->
      </requestFiltering>
    </security>
    
    <!-- 其他 IIS 配置(如 modules、handlers 等) -->
  </system.webServer>
  
  <!-- 其他配置节点 -->
</configuration>

注意事项:

  1. 与 maxRequestLength 的区别:

    • maxAllowedContentLength 是 IIS 层面 的配置(单位:字节),控制 IIS 接收的请求体大小。

    • 若应用是ASP.NET(非ASP.NET Core),还需配合 <system.web> 节点下的 <httpRuntime> 配置 maxRequestLength(单位:KB),避免ASP.NET框架层面的限制:

      xml

      复制代码
      <system.web>
        <httpRuntime maxRequestLength="102400" /> <!-- 100MB = 100 * 1024 KB -->
      </system.web>

      两者需保持一致(或 maxAllowedContentLength 略大于 maxRequestLength 对应的字节数)。

  2. ASP.NET Core 注意 :对于ASP.NET Core 应用(通常托管在 Kestrel 而非 IIS),请求大小限制主要通过代码配置(如 services.Configure<FormOptions>),但如果部署在 IIS 上,仍需通过上述 web.config 配置兼容 IIS 的限制。

总之,requestLimits 必须放在 system.webServer/security/requestFiltering 节点下才能被 IIS 正确识别。

相关推荐
万年咸鱼6 小时前
WebSocket、Socket 与 HTTP 的区别详解
websocket·网络协议·http
9527出列7 小时前
基于oss的断点续传实现
http·性能优化
万年咸鱼7 小时前
HTTPS 是如何保证传输安全的?
网络协议·安全·https
步行cgn9 小时前
HTTP 常用请求方法详解
网络·网络协议·http
2501_9159090610 小时前
抓包工具断点拦截是什么?如何半路拦截修改 HTTP 请求
网络协议·计算机网络·网络安全·adb·https·udp
鬼手点金11 小时前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化
幸福清风12 小时前
从域名到一行 nginx 配置:一次站点 HTTPS 证书更换与排障复盘
python·nginx·https
索西引擎12 小时前
Git 大文件阻断推送的成因与历史重写修复
git
csdn2015_13 小时前
git 合并分支
大数据·git·elasticsearch
智购科技无人售货机工厂13 小时前
MQTT还是HTTP?无人售货机弱网通信协议选型与带宽优化实战~YH
网络·网络协议·http