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

nginx反向代理

时间:2023-05-10 22:22:52浏览次数:42  
标签:请求 代理 代理服务器 nginx 反向 服务器

简介

​ 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

使用nginx实现反向代理

1. nginx三大主要功能

静态web服务器、反向代理、负载均衡。

nginx一般同时做为静态web服务器和反向代理服务器,做为web服务器访问静态文件图片、css、js、html等文件,做为反向代理服务器把请求发给后端业务处理服务,如果有多个后端处理节点,会配置负载均衡功能。

外网客户机 --> nginx反向代理服务器 --> 内网web应用

nginx反向代理
   浏览器输入网址并回车后,会发起一个http请求给nginx(反向代理服务器),这个请求如果是访问静态文件,那么nginx作为web服务器直接返回请求的内容,如果是访问的后台服务逻辑,那么nginx把请求转发给后端的服务处理。
   
内网web应用
   后端的服务可以是很多种类型,LNMP环境下的php-fpm进程,Java环境下的tomcat、jetty等容器,通过程序逻辑处理http请求,生成html页面或者json串返回给客户端。对于小型应用,后端服务可以和nginx部署在同一台机器上。

2. nginx作为反向代理服务器的优点

a. nginx反向代理重要的作用是配合upstream实现负载均衡。
b. 同时增加安全性,客户端不能直接访问后端服务,多了一个中间的屏障。
c. 提升性能,通过异步非阻塞的方式把请求传给后端,提升了并发处理能力。
d. 也可利用缓存、压缩响应提高响应速度。

3. nginx如何配置反向代理服务器

nginx反向代理不需要编译额外的模块,默认自带proxy_pass和fastcgi_pass指令,在location配置块中增加指令就可实现反向代理功能。
以www.nginx.cn为例,这个网站用的wordpress程序,wordpress是php语言编写,那么需要通过php运行环境,可以选择apache的php扩展或者php-fpm环境,主流的选择是php-fpm,php-fpm设置为Unix socket模式或者ip:端口模式。

Unix socket后端服务配置

server {
    listen 80;
    server_name www.nginx.cn nginx.cn;
    
	location /app {
		fastcgi_pass unix:/tmp/php-cgi.sock;
	}
}

ip端口后端服务配置

server {
    listen 80;
    server_name www.nginx.cn nginx.cn;
    
	location /app {
		proxy_pass http://127.0.0.1:8080;
	}
}

反向代理的工作方式

​ 反向代理的工作原理是,代理服务器来接受客户端的网络访问连接请求,然后服务器将请求有策略的转发给网络中实际工作的业务服务器,并将从业务服务器处理的结果,返回给网络上发起连接请求的客户端。

​ 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。

​ 当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。

反向代理的优点

  • 提高了内部服务器的安全

    外部网络用户通过反向代理访向内部服务器,只能看到反向代理服务器的IP地址和端口号,内部服务器对于外部网络来说是完全不可见。而且反向代理服务器上没有保存任何的信息资源,所有的网页程序都保存在内部服务器上,对反向代理服务器的攻击并不能使真的网页信息系统受到破坏,这样就提高了内部服务器的安全性。

  • 加快了对内部服务器的访问速度

    在内部服务器前放置两台反向代理服务器,分别连接到教育网和公网,这样公网用户就可以直接通过公网线路访问学校服务器,从而避开了公网和教育网之间拥挤的链路。同时反向代理服务器的缓存功能也加快了用户的访问速度。

  • 节约了有限的IP资源

    校园网内部服务器除使用教育网地址外,也会采用公网的IP地址对外提供服务,公网分配的IP地址数目是有限的,如果每个服务器有分配-个公网地址,那是不可能的,通过反向代理技术很好的解决了IP地址不足的问题。

标签:请求,代理,代理服务器,nginx,反向,服务器
From: https://www.cnblogs.com/route/p/17389510.html

相关文章

  • nginx:配置nginx访问php(nginx/1.24.0)
    一,配置nginx虚拟主机1,查看php-fpm使用的端口:[root@img~]#ss-lntp|grepphp如图:可以看到端口是90002,配置虚拟主机:如下:[[email protected]]#vifile.conf内容如下:server{    listen       80;    server_name  file.liuhongdi.com; ......
  • nginx stream 模块
    stream模块一般用于tcp/UDP数据流的代理和负载均衡,用来实现四层协议的转发可以通过stream模块代理转发TCP消息。ngx_stream_core_module模块由1.9.0版提供。1.nginx-V确保nginx安装了–with-stream如果没有,重新用yuminstallnginx-y安装2.安装yum-yinstallepel-releas......
  • Stable Diffusion 反向提示词 Negative prompts
    反向提示词(Negativeprompts)用于描述图片中不希望出现的内容。常用于阻止生成特定的事物、样式或修复某些图像异常。下面是一些例子从“宁静的精灵森林”中移除“苔藓”宁静的精灵森林peacefulelvenforest,thickforest,largelivingtreesarevisibleinthebackgro......
  • 2023年有哪些值得尝试的住宅代理提供商
    随着互联网发展,代理服务器成为很多在线任务不可或缺的工具,比如访问受地理限制的内容,克服网站封锁,改善隐私,购买限量版物品或只是更改其IP地址。与此同时,企业利用网络抓取数据聚合,市场研究,SEO监控和许多其他用例。近年市场上代理服务公司层出不穷,某些商家从不道德的IP地址来源很容易......
  • 【备忘】go build 使用代理解决部分模块或依赖无法下载的问题
    1、查看go版本goversion2、如果版本为1.13及以上goenv-wGO111MODULE=ongoenv-wGOPROXY=https://goproxy.io,direct低于1.13版本$env:GO111MODULE="on"$env:GOPROXY="https://goproxy.io"......
  • BurpSuit配置浏览器代理 chrome
    1、BurpSuit配置默认代理 2、添加谷歌插件switchyomega,修改服务器和端口 打开代理,选择刚才添加的代理 3、访问http://burp/,获取证书 4、将证书添加到Chrome浏览器 5、访问任意网址,发现可以抓到包包啦~ ......
  • ASEMI代理ADI亚德诺ADXL345BCCZ-RL7车规级芯片
    编辑-ZADXL345BCCZ-RL7特点:超低功率:在测量模式下低至23µA在VS=2.5V的待机模式下为0.1µA(典型)功耗会随带宽自动调整用户可选分辨率固定的10位分辨率全分辨率,其中分辨率随着g范围的增加而增加,高达13位分辨率,±16g(保持4mg/LSB所有g范围内的比例因子)采用先进先出技术,最大......
  • ADV7611BSWZ-ASEMI代理亚德诺ADV7611BSWZ原厂芯片
    编辑-ZADV7611BSWZ参数描述:型号:ADV7611BSWZ输入高电压:1.2V输入低电压:0.4V输入电流:±45µA输入电容:10pF输出高电压:2.4V输出低电压:0.4V高阻抗泄漏电流:±35µA输出电容:20pFLLC频率范围:13.5-165MHzSCL频率:400kHz储存温度范围:-60℃to+150℃  一般说明:ADV7611B......
  • GoAccess 分析nginx日志
    GoAccess分析nginx日志安装wgethttps://tar.goaccess.io/goaccess-1.7.2.tar.gztar-xzvfgoaccess-1.7.2.tar.gzcdgoaccess-1.7.2/./configure--enable-utf8--enable-geoip=mmdbmakemakeinstall1)InstallmissingpackagesPkginstallautoconflibtoolsautoma......
  • git相关的代理配置
    1配置git代理(以http代理为例)gitconfig--globalhttp.proxyhttp://<username>:<password>@<proxy.server.com>:<8080>gitconfig--globalhttps.proxyhttp://<username>:<password>@<proxy.server.com>:<8080>2替换git协议为ht......