Nginx解决端口问题
1.什么是Nginx?
Nginx可以作为web服务器,更多的时候是作为网关,它具备:
- 反向代理
- 负载均衡
- 动态路由
- 请求过滤
2. Nginx于Zuul都可以作为网关有什么不同?(面试)
Nginx是一个高性能的HTTP的反向代理服务器,也是IMAP/POP3/SMIP服务器。
Zuul是netfilx开源的API GateWay服务器,本质上是一个Web Servlet应用,它在云平台提供动态路由,监控,弹性,安全等边缘服务的框架。
相同点:
- 可以实现负载均衡
- 可以实现反向代理(隐藏真实的IP)
- 可以过滤请求,实现网关效果
不同点:
- Nginx:c语言开发, Zuul:java语言开发
- 负载均衡的实现方式不同
- Zuul使用的是ribbon + eureka实现的负载均衡,
- Nginx采用服务器实现负载均衡
- Nginx适合于服务器端的负载均衡,Zuul适合微服务中的实现网关
- Nginx相比于Zuul功能更强大。因为Nginx整合一些脚本语言。
3.Nginx作为反向代理
3.1 什么是代理和反向代理
代理
:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请 求都交给代理服务器处理。(通俗的说就是打游戏中的托管)反向代理
:用一台服务器,代理真实服务器,用户访问时,不再是访问真 实服务器,而是代理服务器。
3.2 Nginx作为反向代理服务器来使用
我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同 的真实服务器处理,当请求到达nginx,nginx会根据已经定义的规则进行请求的转发,从而实现路由功能。
利用反向代理,就可以解决我们前面所说的端口问题,如图:
4.安装与使用
4.1 目录结构
- conf:配置目录
- contrib:第三方依赖
- html:默认的静态资源目录,类似tomcat的webapps
- logs:日志目录
- nginx.exe:启动程序
4.2 反向代理
修改conf目录下的nginx.conf文件:
nginx中的每个server就是一个反向代理配置,可以有多个server,这样每个访问都经过80则不需要再加端口号。
4.3 使用
配置修改完成后:执行命令
start nginx:开启nginx
nginx -s reload:配置重新加载
nginx -s stop:停止nginx
5. 访问流程解析
浏览器访问manage.leyou.com/#/index/dashboard
- 浏览器准备发起请求,访问http://mamage.leyou.com,但需要进行域名解析 。
- 优先进行本地域名解析,因为我们修改了本地hosts,所以解析成功,得到地址:127.0.0.1 。
- 请求被发往解析得到的ip,并且默认使用80端口:http://127.0.0.1:80,本机的nginx一直监听80端口,因此nginx捕获了这个请求。
- nginx中配置了反向代理规则,将manage.leyou.com代理到127.0.0.1:9001,因此请求被转发。
- 后台系统的webpack server监听的端口是9001,得到请求并处理,完成后将响应返回到nginx
- nginx将得到的结果返回到浏览器。
Nginx解决端口问题相关推荐
- 使用nginx解决跨域问题
1.跨域解释 1.1 怎么知道我遇到了跨域问题 如果项目没做前后端分离,是不会有跨域问题的.前后端分离的项目中,前端调用后台服务时,报错 No 'Access-Control-Allow-Origin ...
- n2n内网穿透打洞部署全过程 + nginx公网端口映射
内网穿透.打洞工具有很多,此前在windows上使用的是vidcc这个玩意,也正因为linux不支持.自此在linux尝试过一些打洞工具,ssh 反向代理这些,因为安全性不便捷等多种原因,最终选择了n ...
- nginx解决浏览器跨域问题_前端通过Nginx反向代理解决跨域问题
在前面写的一篇文章SpringMVC解决跨域问题,我们探讨了什么是跨域问题以及SpringMVC怎么解决跨域问题,解决方式主要有如下三种方式: JSONP CORS WebSocket 可是这几种方式 ...
- 使用nginx 同一端口根据不同域名转发到不同端口
该文章属于原创类型,其他网站转载必须来源于蚂蚁课堂www.itmayiedu.com 需求:在一台服务器上部署两个tomcat项目,都想共用同一个端口号80.但是一台服务器tomcat端口号不能重复? ...
- nginx解决使用域名访问项目
我们现在访问页面使用的是:http://localhost:9001 有没有什么问题? 实际开发中,会有不同的环境: 开发环境:自己的电脑 测试环境:提供给测试人员使用的环境 预发布环境:数据是和生成 ...
- 前端 用nginx解决js跨域问题
前言 公司的一个项目,页面需要给第三方接口发送一个请求,获取第三方接口生成的一个二维码图片,结果 js 跨域获取资源报错:" No 'Access-Control-Allow-Origin' ...
- 将Vue项目部署在Nginx,解决前端路由、反向代理和静态资源问题
将Vue项目部署在Nginx,解决前端路由.反向代理和静态资源问题 需求: 一台服务器,Linux 安装了Nginx 使用Vue脚手架编写的Vue项目 第一步:将Vue项目打包,然后将生成的dist文 ...
- Access-Control-Allow-Origin VUE本地调试跨域问题使用nginx解决
最近在使用VUE做前后端分离的项目,页面代码开发好了,连接后台获取数据的时候发现怎么都调不到后台接口,页面F12的信息如下: 如图所示:重点已经圈起来了 (Access-Control-Allow-O ...
- 无需CORS,用nginx解决跨域问题,轻松实现低代码开发的前后端分离
近年来,前后端分离已经成为中大型软件项目开发的最佳实践. 在技术层面,前后端分离指在同一个Web系统中,前端服务器和后端服务器采用不同的技术栈,利用标准的WebAPI完成协同工作.这种前后端分离的&q ...
最新文章
- operate函数_跟着 redux 学 compose组合函数
- 用Netscaler的Variable和Assignment来实现计数控制
- c++ 数据类型转换笔记
- 用一个二维码做下载地址,自动区分是 ios 还是 android
- 让Redis突破内存大小的限制
- Linux系统PATH变量配置
- Git初始化配置以及配置github
- 用js实现千位分隔符
- RTT线程管理篇——RTT什么时候调度
- 探究操作系统的内存分配(malloc)对齐策略
- HIVE中常见文件存储格式比较
- 笔记本计算机bios设置,联想笔记本BIOS设置详解
- java 接入apple pay_支付的那些套路(apple pay篇)
- MFC实现程序开机自动运行
- 联创机房管理系统重连服务器失败,联创机房管理系统在CAD实验室应用探析.doc...
- 电话销售潜在客户从哪里找 电销行业还值得深入研究吗?
- JavaOOP面试题(108道)
- Process Explorer函数调用方式
- java listbox_将数据从Listbox1复制到Listbox2
- 【NC】NC6系列金额计算处理逻辑剖析
热门文章
- 海思调试串口增加登录密码
- 图像的阴影检测消除和图像重建算法matlab仿真
- uni.getLocation获取位置失败
- canvas动画科技园_【国庆营地】把梳子卖给和尚?沃顿投资大赛预备营带你洞见价值...
- 手把手教你用CS1802A开卡工具和MAS0902量产工具开卡CS1802A+镁光PFH18 N18颗粒
- python程序设计重点_《Python程序设计》怎么样_目录_pdf在线阅读 - 课课家教育
- MYSQL学习笔记(自用) 第二章
- react native : Implementing unavailable method
- python3.9下错误,pip安装matplotlib卡在Building wheel for matplotlib (setup.py)..不动的原因与解决
- MATLAB delaunay函数使用