影楼网站模版,深圳ww,企业网站建设的原则包括,网站设计书目录 前言1. 基本知识2. Demo 前言
对于Nginx的讲解#xff0c;更多推荐阅读#xff1a;
Nginx配置静态网页访问#xff08;图文界面#xff09;Nginx将https重定向为http进行访问的配置#xff08;附Demo#xff09;Nginx从入门到精通#xff08;全#xff09;详细分… 目录 前言1. 基本知识2. Demo 前言
对于Nginx的讲解更多推荐阅读
Nginx配置静态网页访问图文界面Nginx将https重定向为http进行访问的配置附DemoNginx从入门到精通全详细分析Nginx配置参数附Demo
1. 基本知识
这个知识点大有学问
在 Nginx 中proxy_pass 用于反向代理的关键指令它决定 Nginx 将客户端请求转发到哪个上游服务器
proxy_pass 的末尾斜杠会影响请求的 URL 重写方式因此理解它的细微差别非常重要
带斜杠和不带斜杠的区别 不带斜杠的 proxy_pass Nginx 不会将客户端请求的 URI 的一部分与 proxy_pass 的 URI 进行拼接 location 配置中的 URI 部分直接被替换为 proxy_pass 指定的 URI 带斜杠的 proxy_pass Nginx 会将 location 中的匹配部分替换为 proxy_pass 后的 URI 部分并保留客户端请求的 URI 剩余部分 换句话说Nginx 将请求的路径拼接到 proxy_pass 的 URL 后面
两种方式的区别带 URI 和不带 URI
Nginx 中 proxy_pass 有两种使用方式
不带 URI 的方式 proxy_pass 直接指向上游服务器的主机名或 IP 地址不包括任何路径部分 此时 location 匹配的整个 URI 将直接传递给上游服务器
location /api {proxy_pass http://backend;
}在这个配置中如果客户端请求 http://example.com/api/v1/usersNginx 将向上游服务器发送请求为 http://backend/api/v1/users
带 URI 的方式 proxy_pass 指定了一个完整的 URL包括路径部分 如果 proxy_pass URL 后面有斜杠location 匹配的 URI 部分会被去掉并把剩下的 URI 追加到 proxy_pass 的 URL 之后
location /api {proxy_pass http://backend/;
}在这个配置中如果客户端请求 http://example.com/api/v1/usersNginx 会向上游服务器发送 http://backend/v1/users /api 被去掉了因为 proxy_pass 后面有斜杠
2. Demo
不带斜杠的配置
location /app {proxy_pass http://backend/app;
}解释
如果客户端发起请求 http://example.com/app/test Nginx 会将请求转发到 http://backend/app/test/app 作为 proxy_pass 的一部分被保留
带斜杠的配置
location /app {proxy_pass http://backend/;
}解释 如果客户端发起请求 http://example.com/app/test Nginx 会将请求转发到 http://backend/test/app 被移除只保留 /test
总的来说
带斜杠的 proxy_pass会保留请求路径的动态部分不带斜杠的 proxy_pass将保留 proxy_pass 自己的路径并直接替换 location 的匹配部分
实战中的Demo如下