HTTP 与 HTTPS 代理配置指南
本文档介绍如何为微搭低代码平台配置 HTTP 和 HTTPS 代理访问,支持通过 Nginx 等七层代理实现安全的 HTTPS 访问。
1. 环境准备
在开始配置之前,请确保具备以下条件:
1.1 基础环境
- 七层代理服务器:Nginx、Apache 或负载均衡器(LB)
- 访问域名:已备案的域名,并完成 DNS 解析配置
- SSL 证书:有效的 SSL 证书文件(.crt 和 .key 文件)
1.2 网络要求
- 代理服务器能够访问微搭服务器
- 防火墙已开放相应端口(80、443、8080 等)
- 域名 DNS 解析指向代理服务器 IP
2. 微搭平台配置
2.1 修改配置文件
进入安装目录
cd /data/tencent/weda编辑配置文件
vim config.yaml更新配置参数
# 访问协议(http 或 https)
domainProtocol: https
# 访问域名
domain: your-domain.com
# 对外访问端口(http: 80, https: 443)
domainPort: 443
# 微搭服务内部端口(确保端口未被占用)
serverPort: 8080
2.2 应用配置
# 重启服务使配置生效
./upgrade.sh
配置说明
domainProtocol:根据实际需求选择 http 或 httpsdomain:填写实际的访问域名domainPort:HTTP 使用 80,HTTPS 使用 443serverPort:微搭内部服务端口,默认 8080
3. Nginx 代理配置
3.1 HTTP 访问配置
完整配置文件示例
创建或编辑 /etc/nginx/nginx.conf 文件:
# 全局配置
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
# 事件模块配置
events {
worker_connections 1024;
}
# HTTP 模块配置
http {
# MIME 类型映射
include /etc/nginx/mime.types;
default_type application/octet-stream;
# 日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# 访问日志
access_log /var/log/nginx/access.log main;
# Gzip 压缩配置
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_types application/javascript application/json application/xml
application/xhtml+xml text/css text/plain text/xml;
# 客户端请求配置(重要:支持大文件上传)
client_max_body_size 500m; # 客户端请求体最大允许大小(文件上传限制)
client_body_buffer_size 10m; # 读取客户端请求体的缓冲区大小
# HTTP 服务器配置
server {
listen 80;
server_name your-domain.com; # 替换为您的实际域名
# 代理配置
location / {
proxy_pass http://192.168.1.100:8080; # 替换为您的微搭服务器 IP 和端口
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
}
}
}
3.2 HTTPS 访问配置
SSL 证书准备
创建证书目录
mkdir -p /etc/nginx/certs上传证书文件
# 将证书文件上传到指定目录
/etc/nginx/certs/
├── server.crt # SSL 证书文件
└── server.key # SSL 私钥文件
HTTPS 服务器配置
将上述 nginx.conf 中的 server 块替换为:
server {
listen 443 ssl http2;
server_name your-domain.com; # 替换为您的实际域名
# SSL 证书配置
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
# SSL 安全配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 代理配置
location / {
proxy_pass http://192.168.1.100:8080; # 替换为微搭服务器 IP 和端口
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
}
}
# HTTP 重定向到 HTTPS(可选)
server {
listen 80;
server_name your-domain.com;
return 301 https://$server_name$request_uri;
}
3.3 关键配置参数说明
客户端请求配置
client_max_body_size 500m:设置客户端请求体最大允许大小(文件上传限制)- 默认值:1m
- 推荐值:500m,支持微搭平台大文件上传需求
- 根据实际文件上传需求进行调整
client_body_buffer_size 10m:设置读取客户端请求体的缓冲区大小- 默认值:8k 或 16k(取决于平台)
- 推荐值:10m,提升大文件处理性能
- 有助于防止大文件上传时的内存问题
服务器配置
server_name your-domain.com:指定此服务器块的域名- 替换为您的实际域名
- 必须与 SSL 证书域名匹配(HTTPS 配置)
- 支持通配符(如
*.example.com)和多域名配置
代理配置
proxy_pass http://192.168.1.100:8080:定义后端服务器地址- 将
192.168.1.100替换为您的微搭服务器 IP 地址 - 将
8080替换为您的微搭服务端口(在 config.yaml 中配置) - 即使前端使用 HTTPS,后端仍使用 HTTP 协议(SSL 在代理层终结)
- 将
代理头配置(确保功能正常的关键配置)
proxy_set_header X-Forwarded-Proto $scheme:传递原始协议(http/https)proxy_set_header Host $http_host:保持原始 Host 头proxy_set_header X-Real-IP $remote_addr:传递真实客户端 IP 地址proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for:维护完整的代理链信息
4. 配置验证与测试
4.1 Nginx 配置验证
# 检查配置文件语法
nginx -t
# 重新加载配置
nginx -s reload
# 如果 Nginx 通过系统包管理器安装并注册为 systemd 服务时,可使用以下 systemctl 命令:
# 重启 Nginx 服务进程
systemctl restart nginx
# 启用 Nginx 服务开机自启动
systemctl enable nginx
4.2 访问测试
配置完成后,通过以下方式访问平台:
- HTTP 访问:
http://your-domain.com - HTTPS 访问:
https://your-domain.com
4.3 功能验证
- 基础访问:确认能正常打开平台首页
- 登录测试:验证用户登录功能正常
- 文件上传:测试大文件上传功能
- SSL 证书:使用浏览器检查 SSL 证书状态
5. 常见问题与解决方案
5.1 代理配置问题
问题:访问时出现 502 Bad Gateway 错误
解决方案:
- 检查微搭服务是否正常运行
- 验证代理服务器能否访问微搭服务器 IP 和端口
- 确认防火墙规则正确配置
5.2 SSL 证书问题
问题:HTTPS 访问提示证书错误
解决方案:
- 确认证书文件路径正确
- 检查证书是否过期
- 验证证书域名与访问域名匹配
5.3 文件上传问题
问题:上传大文件时失败
解决方案:
- 确认
client_max_body_size配置足够大 - 检查
client_body_buffer_size设置 - 验证磁盘空间充足
6. 安全建议
6.1 SSL 安全配置
- 使用强加密算法和协议版本
- 定期更新 SSL 证书
- 启用 HSTS(HTTP Strict Transport Security)
6.2 访问控制
- 配置适当的防火墙规则
- 限制不必要的端口访问
- 启用访问日志监控
6.3 性能优化
- 启用 Gzip 压缩减少传输大小
- 配置适当的缓存策略
- 使用 HTTP/2 提升性能
7. 负载均衡器配置
如果使用云服务商的负载均衡器(如腾讯云 CLB、阿里云 SLB),配置要点:
- 后端服务器:指向微搭服务器的 IP:8080
- 健康检查:配置适当的健康检查路径
- SSL 终结:在负载均衡器层面配置 SSL 证书
- 会话保持:根据需要配置会话保持策略