苏州园区网站设计公司,自己做的旅游网站 介绍,网页制作工具,制作h5用什么软件比较好一、准备工作 确保已安装Gogs并运行在HTTP模式(默认端口3000) 确认服务器内网IP地址(如192.168.1.100)
二、安装Apache和必要模块
sudo apt update
sudo apt install apache2 -y
sudo a2enmod ssl proxy proxy_http rewrite headers
三、创建SSL证书
1. 创建证书存储目录…一、准备工作 确保已安装Gogs并运行在HTTP模式(默认端口3000) 确认服务器内网IP地址(如192.168.1.100)
二、安装Apache和必要模块
sudo apt update
sudo apt install apache2 -y
sudo a2enmod ssl proxy proxy_http rewrite headers
三、创建SSL证书
1. 创建证书存储目录
sudo mkdir -p /etc/apache2/ssl/gogs
sudo chmod 700 /etc/apache2/ssl
2. 生成自签名证书(使用IP地址)
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \-keyout /etc/apache2/ssl/gogs/gogs.key \-out /etc/apache2/ssl/gogs/gogs.crt \-subj /CN192.168.1.100 -addext subjectAltNameIP:192.168.1.100
请将192.168.1.100替换为你的实际内网IP地址
四、配置Apache虚拟主机
1. 创建IP访问专用配置文件
sudo nano /etc/apache2/sites-available/gogs-ip-ssl.conf
2. 添加以下配置内容
VirtualHost *:80ServerName 192.168.1.100Redirect permanent / https://192.168.1.100/
/VirtualHostVirtualHost *:443ServerName 192.168.1.100SSLEngine onSSLCertificateFile /etc/apache2/ssl/gogs/gogs.crtSSLCertificateKeyFile /etc/apache2/ssl/gogs/gogs.key# 安全配置SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1SSLCipherSuite HIGH:!aNULL:!MD5SSLHonorCipherOrder on# 反向代理配置ProxyPreserveHost OnProxyRequests offProxyPass / http://localhost:3000/ProxyPassReverse / http://localhost:3000/# 传递HTTPS信息RequestHeader set X-Forwarded-Proto https# 提高上传限制(50MB)LimitRequestBody 52428800# 日志配置ErrorLog ${APACHE_LOG_DIR}/gogs-error.logCustomLog ${APACHE_LOG_DIR}/gogs-access.log combined# WebSocket支持RewriteEngine onRewriteCond %{HTTP:Upgrade} websocket [NC]RewriteCond %{HTTP:Connection} upgrade [NC]RewriteRule ^/?(.*) ws://localhost:3000/$1 [P,L]
/VirtualHost
3. 启用配置并重启Apache
sudo a2ensite gogs-ip-ssl
sudo systemctl restart apache2
五、配置Gogs
1. 编辑Gogs配置文件
sudo nano /home/git/gogs/custom/conf/app.ini
2. 修改以下配置项
[server]
DOMAIN 192.168.1.100
HTTP_PORT 3000
ROOT_URL https://192.168.1.100/
PROTOCOL http
3. 重启Gogs服务
sudo systemctl restart gogs
六、防火墙配置
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
七、访问测试 在浏览器访问 https://192.168.1.100 首次访问需要接受安全警告(因为是自签名证书)
八、解决IP地址SSL证书警告
方案1在客户端临时禁用 SSL 验证仅测试环境
git -c http.sslVerifyfalse clone https://192.168.28.130/root/project1.git
方案2在客户端永久禁用 SSL 验证不推荐生产环境
git config --global http.sslVerify false
方案3将证书添加到 Git 信任列表推荐 1. 导出证书(在服务器上执行) sudo cp /etc/apache2/ssl/gogs/gogs.crt /tmp/ sudo chmod 644 /tmp/gogs.crt 2. 将证书文件gogs.crt分发到客户端机器 3. 在各客户端操作系统中导入证书为受信任的根证书
九、注意事项 如果服务器IP变更需要重新生成证书并更新所有配置 建议在内网DNS服务器中添加解析记录方便记忆 生产环境建议使用域名而非IP地址
十、验证配置
# 检查Apache是否监听443端口
sudo netstat -tulnp | grep apache# 检查Gogs是否运行
sudo systemctl status gogs# 检查HTTPS访问日志
sudo tail -f /var/log/apache2/gogs-access.log
此配置方案专为内网IP访问设计无需域名解析适合纯内网环境使用。