nginx根据二级目录转发服务以及带/和不带/的区别

2024-04-17 05:20

本文主要是介绍nginx根据二级目录转发服务以及带/和不带/的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。具体实例如下

1.配置文件location带/且proxy_pass带/

server {listen 80;server_name test.htjs.net;#通过访问service二级目录来访问后台
location /service/ {# http://192.168.1.51:8080后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点proxy_pass      http://192.168.1.51:8080/;proxy_redirect  off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

即如果访问test.htjs.net/service/xxx.html 实际访问的是后端服务http://192.168.1.51:8080/xxx.html

2.配置文件location带/且proxy_pass不带/

server {listen 80;server_name test.htjs.net;#通过访问service二级目录来访问后台
location /service/ {# http://192.168.1.51:8080后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点proxy_pass      http://192.168.1.51:8080;proxy_redirect  off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

即访问http://test.htjs.net/service/xxx.html,实际访问的是后端服务 http://192.168.1.51:8080/service/xxx.html

3.配置文件location带/且proxy_pass带二级目录和/

server {listen 80;server_name test.htjs.net;#通过访问service二级目录来访问后台
location /service/ {# http://192.168.1.51:8080后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点proxy_pass      http://192.168.1.51:8080/api/;proxy_redirect  off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

即访问访问http://test.htjs.net/service/xxx.html,实际访问的是后端服务 http://192.168.1.51:8080/api/xxx.html

4.配置文件location带/且proxy_pass带二级目录不带/

server {listen 80;server_name test.htjs.net;#通过访问service二级目录来访问后台
location /service/ {# http://192.168.1.51:8080后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点proxy_pass      http://192.168.1.51:8080/api;proxy_redirect  off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

即访问访问http://test.htjs.net/service/xxx.html,实际访问的是后端服务 http://192.168.1.51:8080/apixxx.html

5.location不带/且proxy_pass带二级目录不带/

server {listen 80;server_name test.htjs.net;#通过访问service二级目录来访问后台
location /service {# http://192.168.1.51:8080后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点proxy_pass      http://192.168.1.51:8080/api;proxy_redirect  off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

即访问访问http://test.htjs.net/service/xxx.html,实际访问的是后端服务 http://192.168.1.51:8080/api/xxx.html

6.location不带/且proxy_pass带/

server {listen 80;server_name test.htjs.net;#通过访问service二级目录来访问后台
location /service {# http://192.168.1.51:8080后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点proxy_pass      http://192.168.1.51:8080/;proxy_redirect  off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

即访问访问http://test.htjs.net/service/xxx.html,实际访问的是后端服务 http://192.168.1.51:8080//xxx.html

7.location不带/且proxy_pass不带/

 

server {listen 80;server_name test.htjs.net;#通过访问service二级目录来访问后台
location /service {# http://192.168.1.51:8080后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点proxy_pass      http://192.168.1.51:8080;proxy_redirect  off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

即访问访问http://test.htjs.net/service/xxx.html,实际访问的是后端服务 http://192.168.1.51:8080/service/xxx.html

这篇关于nginx根据二级目录转发服务以及带/和不带/的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/910884

相关文章

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

解读@ConfigurationProperties和@value的区别

《解读@ConfigurationProperties和@value的区别》:本文主要介绍@ConfigurationProperties和@value的区别及说明,具有很好的参考价值,希望对大家... 目录1. 功能对比2. 使用场景对比@ConfigurationProperties@Value3. 核

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.