Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >nginx做正向代理_反向代理和正向代理

nginx做正向代理_反向代理和正向代理

作者头像
全栈程序员站长
发布于 2022-09-27 02:04:01
发布于 2022-09-27 02:04:01
70200
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

Nginx正向代理四种方式

为什么需要正向代理

如果我们的服务部署在公司内网环境,不能直接访问互联网服务,就需要通过可以访问互联网的代理服务器来实现访问互联网的服务。此处我们使用Nginx作为代理服务器。

案例

  • 互联网上的接口:https://baidu.com/api/aaa
  • 代理服务器Nginx的地址和监听端口为192.168.1.100:11100
  • 要实现通过访问http://192.168.1.100:11100/proxy_baidu/api/aaa来实现访问https://baidu.com/api/aaa

配置方式

第一种

监听路径末尾加斜杠,proxy_pass后加斜杠

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 
location  /proxy_baidu/ { 
   
        proxy_pass https://baidu.com/;
}

此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa, 实际会被代理到https://baidu.com/api/aaa 此情况不会发生重定向

第二种

监听路径末尾加斜杠,proxy_pass后不加斜杠

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 
location  /proxy_baidu/ { 
   
        proxy_pass https://baidu.com;
}

此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa, 实际会被代理到https://baidu.com/proxy_baidu/api/aaa 此情况下会发生302重定向。

第三种

监听路径末尾不加斜杠,proxy_pass后加斜杠

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 
location  /proxy_baidu { 
   
        proxy_pass https://baidu.com/;
}

此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa, 实际会被代理到https://baidu.com/api/aaa 此情况下会发生302重定向。

第四种

监听路径末尾不加斜杠,proxy_pass后不加斜杠

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 
location  /proxy_baidu { 
   
        proxy_pass https://baidu.com;
}

此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa, 实际会被代理到https://baidu.com/proxy_baidu/api/aaa 此情况下会发生302重定向。

总结

proxy_pass 的地址末尾加斜杠,请求地址中的监听路径之前(含)都会被proxy_pass地址全替换掉。 proxy_pass 的地址末尾不加斜杠,则proxy_pass只会替换掉请求地址中的IP+端口。

location 后路径的末尾加斜杠,则只监听请求地址中路径全匹配的地址(全匹配)。 location 后路径的末尾不加斜杠,则监听请求地址中以location后的路径开头的地址(模糊匹配)。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179071.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Tomcat启动失败(闪退)和启动之后localhost:8080出现404
为了伟大的房产事业
2024/03/15
2070
Tomcat启动失败(闪退)和启动之后localhost:8080出现404
tomcat部署war包访问显示404
在eclipse导出的maven项目war包,放到tomcat下启动,顺利启动且无报错,但是浏览器访问该项目时显示404
全栈程序员站长
2022/06/28
2.7K0
tomcat部署war包访问显示404
Servlet 与 tomcat 避坑指南
修改应用下面的 META-INF/context.xml 把<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />中 allow 后面的内容,例如改为 10 网段可以访问:
耕耘实录
2021/12/07
4480
Tomcat调优总结
Tomcat 优化分为系统优化,Java虚拟机调优,Tomcat本身的优化。
全栈程序员站长
2022/09/09
4470
Tomcat 配置局域网内的Https
Tomcat 配置局域网内的Https 1、生成证书 可以使用jdk自带的keytool生成证书 keytool -genkeypair -alias "tomcat" -keyalg "RSA"
季鸟猴
2022/11/14
1.2K0
Tomcat 配置局域网内的Https
tomcat相关配置技巧梳理
tomcat常用架构: 1)nginx+tomcat;即前端放一台nginx,然后通过nginx反向代理到tomcat端口(可参考:分享一例测试环境下nginx+tomcat的视频业务部署记录) 2)tomcat直接部署站点,不通过nginx反向代理。 下面针对tomcat的有关配置使用进行说明: 1)默认站点根目录 tomcat的默认站点根目录是webapps/ROOT,配置文件是server.xml, 配置文件server.xml 里的主要内容是: [root@huanqiu-test ~]# vim
洗尽了浮华
2018/01/23
1.2K0
Tomcat的Session复制集群
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
ruochen
2021/11/24
1.3K0
【基础篇】Tomcat基础
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,其是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,是开发和调试JSP程序的首选。 --百度百科 好的,让我们开始Tomcat之旅~ Tomcat的获取和安装 安装Tomcat的基础环境 [root@serve
用户1456517
2019/03/05
4940
【基础篇】Tomcat基础
Tomcat访问 manager页面 报403的解决办法
外网配置好manager用户以后访问manager/status页面结果提示403错误还有一堆英文错误,第一句话明显标示了是要在context.xml配置东西。 打开webapps下的host-manager和manager,都有一个共同的文件夹META-INF,里面都有context.xml,这个文件的内容是: <Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.
小柒2012
2018/04/13
1.6K0
Tomcat访问 manager页面 报403的解决办法
【Tomcat】《How Tomcat Works》英文版GPT翻译(第五章)
A container is a module that processes the requests for a servlet and populates the response objects for web clients. A container is represented by the org.apache.catalina.Container interface and there are four types of containers: Engine, Host, Context, and Wrapper. This chapter covers Context and Wrapper and leaves Engine and Host to Chapter 13. This chapter starts with the discussion of the Container interface, followed by the pipelining mechanism in a container. It then looks at the Wrapper and Context interfaces. Two applications conclude this chapter by presenting a simple wrapper and a simple context respectively.
阿东
2024/01/10
2490
【Tomcat】《How Tomcat Works》英文版GPT翻译(第五章)
Linux安装配置tomcat
1.首先配置好jdk 查看java版本:java -verson 1.官网下载jdk 2.tar -zxvf xxxx.tar.gz   解压 3.配置环境变量 <1># vi /etc/profile <2>在最后加入以下几行: export JAVA_HOME=/usr/java/jdk1.5.0_16 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PA
Ryan-Miao
2018/03/13
2.4K0
nginx整合tomcat集群并做session共享----测试案例
最近出于好奇心,研究了一下tomcat集群配置,并整合nginx,实现负载均衡,session共享,写篇记录,防止遗忘。---------菜鸡的自我修炼。
大道七哥
2019/09/10
9740
nginx整合tomcat集群并做session共享----测试案例
Tomcat配置通过域名直接访问项目首页的完整步骤
我们以tomcat为例通过输入域名直接访问项目首页的配置方法。我的域名为:www.nnjskz.cn,也欢迎大家访问。
Jensen_97
2023/07/20
2.4K0
Tomcat闪退解决方案[通俗易懂]
Tomcat启动后闪退, tomcat可以通过命令行startup或直接双击startup.bat执行 通常发生闪退时,我们可以尝试在命令行中执行一下startup命令
全栈程序员站长
2022/09/02
2.3K0
Tomcat闪退解决方案[通俗易懂]
tomcat整体架构
上面简单列了tomcat的模块结构,下面结合配置文件更加具体一点来分析,当然更多是集中在Connector和Container两个组件上,毕竟这是两个核心组件,后续的内容也会更多集中在这两个组件上面
东营浪人
2019/09/05
6700
tomcat整体架构
Tomcat Web页面管理应用配置与报403解决方法
大部分时候,我们的Tomcat服务器都不是部署在本机,那么怎么样不通过ftp/sftp方式来将war包部署到Tomcat容器呢?
星哥玩云
2022/07/26
2.6K0
Tomcat Web页面管理应用配置与报403解决方法
Tomcat最佳优化方案总结 原
1. BIO由于每个请求都要创建一个线程来处理,线程开销比较大,不能再高并发的场景,性能也是最低的。 2. NIO是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,比传统的bio更好的并发性能。 3. APR(Apache Portable Run-time libraries)简单理解,就是从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和响应性能, 也是Tomcat运行高并发应用的首选模式。 
wuweixiang
2018/08/14
3.5K0
Tomcat最佳优化方案总结
                                                                            原
Tomcat搭建文件服务器
①. 进入tomcat下的conf目录,找到server.xml文件,在Host标签下加入如下标签     path:表示对外映射的路径,     docBase:物理磁盘路径,可以是绝对路径,也可以是相对路径,甚至是共享磁盘目录     debug参数不用管     reloadable表示是否重新加载 <Context path="/files" docBase="D://files" debug="0" reloadable="true"/> 访问http://localhost/files/a.t
用户1215919
2018/02/27
3.3K0
tomcat8 manager页面限制IP访问
配置tomcat8/webapps/manager/META-INF/context.xml
用户2409797
2019/02/25
2.1K0
IIS、apache、tomcat服务器虚拟主机配置
首先我们有一个域名  xxx.com;(注,两个一级域名不相同也可以) 有两个二级域名   priject.xxx.com 和 movie.xxx.com 有一台主机 ,现在假设访问主机电脑 IIS服务器虚拟主机配置方法 1、在IIS中添加网站 其中  绑定一栏中的主机名为 priject.xxx.com,在分配好网站的文件路径 2、添加isapi筛选器 其中可执行文件位置为php的安装位置 3、处理程序映射->添加脚本映射 4、最后重启IIS服务器,就可以用域名访问了 再添加站点,同样的步骤。 tomcat服务器虚拟主机配置方法 在Engine节点下增加host节点 <Host name="priject.xxx.com"  appBase="webapps/priject"             unpackWARs="true" autoDeploy="true">         <!-- SingleSignOn valve, share authentication between web applications              Documentation at: /docs/config/valve.html -->         <!--         <Valve className="org.apache.catalina.authenticator.SingleSignOn" />         -->         <!-- Access log processes all example.              Documentation at: /docs/config/valve.html              Note: The pattern used is equivalent to using pattern="common" -->         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                prefix="localhost_access_log." suffix=".txt"                pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host> <Host name= "movie.xxx.com"  appBase="webapps/movie"             unpackWARs="true" autoDeploy="true">         <!-- SingleSignOn valve, share authentication between web applications              Documentation at: /docs/config/valve.html -->         <!--         <Valve className="org.apache.catalina.authenticator.SingleSignOn" />         -->         <!-- Access log processes all example.              Documentation at: /docs/config/valve.html              Note: The pattern used is equivalent to using pattern="common" -->         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                prefix="localhost_access_log." suffix=".txt"                pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host> 注在webapps目录下的movie要创建ROOT目录才可以,而且ROOT必须大写。在ROOT目录先放置jsp代码。 tomcat会根据主机名称自动寻找相应的目录去访问 apache服务器虚拟主机配置方法 打开httpd.conf文件 去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so 这句前面的#号 和 Include conf/extra/httpd-vhosts.conf这句前面的#号 Include conf/e
张泽旭
2018/12/10
3K0
相关推荐
Tomcat启动失败(闪退)和启动之后localhost:8080出现404
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验