常见服务器反向代理配置参考
本页汇总几类常见后端服务的站点配置片段,可直接作为模板改造使用。所有片段都可以放在主配置文件的 http.server 数组中,也可以按 利用 Fast-Https 配置发布多个站点 的方式,各自拆成 conf.d 下的独立文件。
1 配置 Vue 静态站点
{
"listen": 80,
"server_name": "club.quwancode.com",
"location": [
{
"type": "local",
"url": "/",
"root": "/var/www/club.quwancode.com",
"index": ["index.html", "index.htm"]
}
]
}
2 反向代理 Flask 接口服务
{
"listen": 80,
"server_name": "api.club.quwancode.com",
"location": [
{
"type": "proxy",
"url": "/",
"proxy_pass": "http://192.168.1.11:5001"
}
]
}
3 反向代理 GitLab 服务器
{
"listen": "443 ssl",
"server_name": "gitlab.quwancode.com",
"ssl_certificate": "config/cert/gitlab.quwancode.com.pem",
"ssl_certificate_key": "config/cert/gitlab.quwancode.com-key.pem",
"location": [
{
"url": "/",
"type": "proxy",
"proxy_pass": "http://10.191.44.123:9980",
"proxy_set_header": [
{
"HeaderKey": "Connection",
"HeaderValue": "keep-alive"
}
]
}
]
}
4 反向代理 Jenkins 服务
{
"listen": "443 ssl",
"server_name": "jenkins.quwancode.com",
"ssl_certificate": "config/cert/jenkins.quwancode.com.pem",
"ssl_certificate_key": "config/cert/jenkins.quwancode.com-key.pem",
"location": [
{
"url": "/",
"type": "proxy",
"proxy_pass": "http://127.0.0.1:9780"
}
]
}
5 反向代理 Jira 服务
把 80 端口整体跳转到 HTTPS,再由 443 端口代理到内网服务:
[
{
"listen": 80,
"server_name": "jira.quwancode.com",
"location": [
{
"url": "/",
"type": "rewrite",
"rewrite": "https://jira.quwancode.com"
}
]
},
{
"listen": "443 ssl",
"server_name": "jira.quwancode.com",
"ssl_certificate": "config/cert/jira.quwancode.com.pem",
"ssl_certificate_key": "config/cert/jira.quwancode.com-key.pem",
"location": [
{
"url": "/",
"type": "proxy",
"proxy_pass": "http://127.0.0.1:9880"
}
]
}
]
6 反向代理 SonarQube 服务
[
{
"listen": 80,
"server_name": "sonarqube.quwancode.com",
"location": [
{
"url": "/",
"type": "rewrite",
"rewrite": "https://sonarqube.quwancode.com"
}
]
},
{
"listen": "443 ssl",
"server_name": "sonarqube.quwancode.com",
"ssl_certificate": "config/cert/sonarqube.quwancode.com.pem",
"ssl_certificate_key": "config/cert/sonarqube.quwancode.com-key.pem",
"location": [
{
"url": "/",
"type": "proxy",
"proxy_pass": "http://127.0.0.1:9000"
}
]
}
]
7 场景对照
| 场景 | location[].type | 关键配置项 |
|---|---|---|
| Vue / React 静态站点 | local | root、index |
| 后端 API(Flask / Java / PHP) | proxy | proxy_pass |
| GitLab | proxy | proxy_pass、proxy_set_header: Connection: keep-alive |
| Jenkins | proxy | proxy_pass |
| Jira / SonarQube | rewrite + proxy | 80 跳转 HTTPS,443 代理到内网端口 |
示例中的域名、内网 IP 与端口均为占位值,套用前请替换成实际环境;
ssl 站点必须同时提供 ssl_certificate 与 ssl_certificate_key。