Nginx-location + proxy_pass详解
一、环境
名称 | IP | 服务 |
---|---|---|
DMZ区Nginx | 10.22.86.201 | nginx代理 |
内网前端服务 | 10.22.86.202 | 前端服务 |
简化实验,这里都在DMZ区做代理。由DMZ区服务器的一个端口访问,代理到DMZ区服务器的另一个端口,访问前端服务。
[root@localhost test]# mkdir -p /data/test
[root@localhost test]# echo "1" > /data/test/index.html
二、配置文件。
1、情景1
# nginx 配置文件内容
server {
listen 8801;
server_name 10.22.86.201;
location /test/test1/ {
proxy_pass http://10.22.86.201:8802/test/test1/;
}
}
server {
listen 8802;
server_name 10.22.86.201;
location /test/test1/ {
root /data/test/;
try_files $uri $uri/ /index.html =404;
index index.html index.htm;
}
}
此配置文件情况下,地址如下:
# 正常访问
http://10.22.86.201:8801/test/test1/
# 正常访问
http://10.22.86.201:8801/test/test1/dadasdada
# 正常访问
http://10.22.86.201:8801/test/test1/ + 后面任意字符
# 访问失败
http://10.22.86.201:8801/test/testada
2、情景2
# nginx 配置文件内容
server {
listen 8801;
server_name 10.22.86.201;
location /test/test1 {
proxy_pass http://10.22.86.201:8802/test/test1/;
}
}
server {
listen 8802;
server_name 10.22.86.201;
location /test/test1/ {
root /data/test/;
try_files $uri $uri/ /index.html =404;
index index.html index.htm;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现