答案先行:
具体步骤:系统设置→安全性→端口设置→高级设置→ 取消勾选“重定向80和443端口”→确认

原始需求
我自己是搞开发的,然后一些代码仓库部分文件比较大,国外云服务器不考虑,国内云服务器贵就贵在带宽上,纯代码的仓库倒也还好,一旦仓库里有一些比较大的二进制文件,在一台新电脑上拉取代码就难受了(这里我们不讨论什么LFS这些,我问题就这个问题),于是乎我想着把这些仓库都部署到内网(这里基本上仓库有大文件的都是私人项目,公家项目跟我没关系,愿意买企业服务或者愿意氪金跟我没关系),这样内网传输速度基本上就是路由器的满速了。
初步计划
这里就是简单提一嘴,为什么我非要 80 和 443,至于这个端口的含义,懂得个自然懂,不懂得我也不需要多说,因为我自己代码仓库是基于 Gitea 搭建的,默认 web 服务的端口号是 3000,我不太喜欢用 内网IP+端口号 的方式去访问,而且现在主流是 https,IP+端口这种搞不到SSL证书,从我自己的角度来说,就是**。所以我的自己的方案是,自己跑个 nginx 反向代理本机的 3000 端口,然后用 nginx 挂个 ssl 证书,我自己也有相关域名(即便没有,我也可以在自己机子上改 hosts 实现,这里不展开讨论),这样我就可以在内网实现体验远比公网访问要舒服的代码托管服务
成品展示





Nginx 反向代理配置参考
# 处理80端口请求,自动跳转到443
server {
listen 80;
server_name gitmr.com; # 替换为你的域名或服务器IP
# 永久重定向到HTTPS
return 301 https://$host$request_uri;
}
# 处理443端口的HTTPS请求
server {
listen 443 ssl;
server_name gitmr.com; # 替换为你的域名或服务器IP
# SSL证书配置
ssl_certificate /etc/nginx/ssl/gitmr.com.pem;
ssl_certificate_key /etc/nginx/ssl/gitmr.com.key;
# SSL优化配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 反向代理到本机3000端口
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; # 传递HTTPS协议信息
}
}