首页 > 系统相关 >4.nginx-反向代理

4.nginx-反向代理

时间:2024-06-11 23:32:56浏览次数:21  
标签:http tomcat 代理 nginx api 反向 proxy pass location

准备工作

1.安装apache-tomcat,下载后,解压 tar -xvf apache-tomcat-7.0.70.tar.gz

http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.tar.gz

2.安装openjdk

sudo yum install java-1.8.0-openjdk

java -version 检查是否安装成功

启动tomcat

进入目录 /usr/src/apache-tomcat-7.0.70/bin

执行启动命令:./startup.sh

进入日志目录:/usr/src/apache-tomcat-7.0.70/logs

查看启动日志命令:tail -f catalina.out

如果防火墙是开启的,注意开放相关端口:

查看已经开发的端口命令:firewall-cmd --list-all

对外开放访问的端口命令:

firewall-cmd --add-port=8080/tcp --permanent

firewall-cmd -reload

案例一

www.123.com -> nginx80 -> tomcat默认首页8080

配置域名与ip对应关系

C:\Windows\System32\drivers\etc\hosts文件

nginx中反向代理配置

重新加载nginx配置文件 

./nginx -s reload

案例二

根据url中访问的路径不同,跳转到不同端口的服务中。

nginx监听端口为9001

访问http://192.168.171.128:9001/vod/ 直接跳转到 192.168.171.128:8080

访问http://192.168.171.128:9001/edu/ 直接跳转到 192.168.171.128:8081

准备工作

准备两个tomcat服务器,一个8080端口,一个8081端口。

修改配置文件,目录 /usr/src/tomcat8081/apache-tomcat-7.0.70/conf/server.xml

创建html文件放入目录:

/usr/src/tomcat8081/apache-tomcat-7.0.70/webapps/edu/

a.html

同样在目录/usr/src/tomcat8080/apache-tomcat-7.0.70/webapps/vod/

a.html

nginx中反向代理配置

添加一个server块

location指令说明(待完善)

~ 用于表示uri包含正则表达式,区别区分大小写。

~* 用于表示uri包含正则表达式,不区分大小写。

^~ 用于不含正则表达式的uri前

= 用于不含正则表达式的uri前,要求请求字符串与uri严格匹配。

nginx-location和proxy_pass的url拼接

在proxy_pass中端口号后面如果加入了"/",则location 匹配的内容全部去掉;

Nginx中proxy_pass末尾带斜杠/和不带的区别

一、proxy_pass末尾有斜杠

location /api/ {

proxy_pass http://127.0.0.1:8000/;

}

请求地址:http://localhost/api/test

转发地址:http://127.0.0.1:8000/test

二、proxy_pass末尾无斜杠

location /api/ {

proxy_pass http://127.0.0.1:8000;

}

请求地址:http://localhost/api/test

转发地址:http://127.0.0.1:8000/api/test

三、proxy_pass包含路径,且末尾有斜杠

location /api/ {

proxy_pass http://127.0.0.1:8000/user/;

}

请求地址:http://localhost/api/test

转发地址:http://127.0.0.1:8000/user/test

四、proxy_pass包含路径,末尾无斜杠

location /api/ {

proxy_pass http://127.0.0.1:8000/user;

}

请求地址:http://localhost/api/test

转发地址:http://127.0.0.1:8000/user/api/test

总结:

如果proxy_pass端口号后面有斜杠/,proxy_pass不拼接location的路径

如果proxy_pass端口号后面无斜杠/,proxy_pass会拼接location的路径

标签:http,tomcat,代理,nginx,api,反向,proxy,pass,location
From: https://blog.csdn.net/qq_36352889/article/details/139608290

相关文章

  • 爬虫技术升级:如何结合DrissionPage和Auth代理插件实现数据采集
    背景/引言在大数据时代,网络爬虫技术已经成为数据收集的重要手段之一。爬虫技术可以自动化地从互联网上收集数据,节省大量人力和时间成本。然而,当使用需要身份验证的代理服务器时,许多现有的爬虫框架并不直接支持代理认证。这就需要我们寻找替代方案,以便在爬虫过程中能够顺利通过代......
  • 3.Nginx配置文件基本介绍
    nginx配置文件所在路径:/usr/local/nginx/conf/nginx.confnginx配置文件有三块:1.全局块从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令。配置运行nginx服务器的用户(组)允许生成的workerprocess数,Nginx服务器并发处理服务的关键配置,w......
  • 私有化部署bitwarden密码管理器(三)——nginx方式部署
    仅有IP无证书的环境部署bitwarden密码管理器虽然使用npm方式部署比较简单,但是很多小伙伴可能没有一台带域名国外vps,接下来介绍仅有IP的Vps,如国内的服务器无域名证书或者是本地无外网的环境如:虚拟机、NAS、树莓派等环境部署bitwarden密码管理器。部署NginxNginx和NginxProxy......
  • 爬虫自动化之DRISSIONPAGE实现随时切换代理IP
    爬虫自动化之drissionpage实现随时切换代理iphttps://blog.csdn.net/qq_32334103/article/details/126133862下载SwitchyOmega地址:https://github.com/FelisCatus/SwitchyOmega/releases也可以直接用压缩文件打开,然后解压到当前文件夹123456789101112......
  • 在Linux系统中使用Certbot为Nginx安装SSL证书
    在Linux系统中使用Certbot为Nginx安装SSL证书并进行配置,通常遵循以下步骤:1.安装Certbot首先确保你的系统已经安装了EPEL仓库,如果没有安装,可以通过以下命令安装:sudoyuminstallepel-release接着安装Certbot:sudoyuminstallcertbot2.配置Nginx在Nginx配置文件中添......
  • 【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
    问题描述在部署AzureSpringApp应用后,访问应用,遇见了502BadGatewayNginx。问题解答502BadGateway, 并且由Nginx返回。而自己的应用中,并没有定义Nginx相关内容,所以需要查看问题是否出现在AzureSpringApp服务的设置上。根据SpringApp的通信模型图判断,502的请求是由N......
  • nginx和阿里云的SLB的区别?
     阿里云SLB和nginx的负载均衡有什么区别? 区别在于阿里云提供的是SAAS服务,它是按次收费的。所以SLB的扩展性几乎是无限的,而且扩展也非常简单往你帐户里面充钱就可以SLB和NGINX都具备负载均衡的功能,但它们在应用场景、功能灵活性以及专业优化程度上存在明显的异同。阿里云......
  • docker 的代理设置
    Docker的代理设置有时候当我们设置了镜像仓库之后,依然有些镜像无法直接拉去。另外一个情况就是在buildimage的时候,有些包或者有些依赖的url无法访问。例如国外的一些资源,这时候我们就可以通过配置proxy进行获取。配置docker的proxy路径一般是~/.docker/config.json"proxies"......
  • 宝塔 nginx 安装 ModSecurity 模块
    本文基于modsecurity,ubuntu系统nginx搭建环境,需要先安装modsecurity,再编译安装nginx它是一款开源的的三方模块,功能包括http流量日志,实时检测等功能。ModSecurity核心规则集(CRS)提供以下类别的保户来防止攻击。官方宣传:◆HTTPProtection(HTTP防御)-HTTP协议和本地定义使用的......
  • nginx+lua(OpenResty),实现访问限制
    因发现平台日志中不定时会有同一IP发送大量的正常请求的情况,因程序没做请求频率的限制,就打算使用nginx+lua(OpenResty)+redis来做控制,发现请求频率高的IP,直接封掉,禁止访问。一、部署OpenResty1、安装工具和依赖yum-yinstallwgetvimgccpcre-developenssl-devel......