nginx正向代理与反向代理

薄洪涛1年前Linux7696

正向代理

正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

浏览器中输入http://192.168.184.128/proxy_baidu/ 即可访问到百度主页

image.png

用户想要访问某国外网站,该网站无法在国内直接访问,但是我们可以访问到一个代理服务器,这个代理服务器可以访问到这个国外网站。这样呢,用户对该国外网站的访问就需要通过代理服务器来转发请求,并且该代理服务器也会将请求的响应再返回给用户。这个上网的过程就是用到了正向代理。

server {
    listen       80;      
    server_name  192.168.184.128;

    location /proxy_baidu/ {
            proxy_pass http://baidu.com/;
    }
}

反向代理

反向代理实际运行方式是代理服务器接受网络上的连接请求。它将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

在一台服务器上部署两个tomcat,用nginx做反向代理(负载均衡),nginx配置如下

tomcat的两个端口为:8080,8081;nginx监听8090端口请求,将请求交给tomcat两个端口处理

下面在浏览器输入http://192.168.184.128:8090/ 就能访问到tomcat主页

upstream tomcatcluster{
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

server {
    listen       8090;
    server_name  localhost;

    location / {
       proxy_pass http://tomcatcluster;
}

相同点

正向代理和反向代理所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端。

不同点

正向代理是客户端的代理,服务器不知道真正的客户端是谁;反向代理是服务器的代理,客户端不知道真正的服务器是谁


标签: nginx

相关文章

nginx转换post请求为get

nginx转换post请求为get

今天调银联收银台回调的时候,遇到一件特别坑的事情,我通过银联付款后,本来应该跳转到我自己定义的回调页面,但是每次都会返回405错误码,很是恼火;查了下日志2019/06/24 14:58:3...

Nginx解决跨域问题

不解释,做个记录location / {     add_header Access-Control-Allow-Origin&n...

php程序是如何被解析的?

php程序是如何被解析的?

我们每天都在写php代码,然后往服务器上一丢,你就发现php文件就运行了,嘿,是不是很神奇,但是有没有想过,php是如何被解释执行的呢?要知道apache,nginx都是不能解析.php文件的;所以想...

Nginx如何获取get/post传递的参数?

有一些业务场景,需要我们用nginx做url的重写,这样的话我们就需要做参数的拼接,比如我们想把xxx.com/a/1/2 重写成yyy.com/b?a=1&b=2,就需要做参数的拼接;假如我...

Centos7 下开机自启

我在虚拟机上搭建了一套nginx+php,然后每次开机的时候,都要去手动去运行让服务起来,这我可忍不了了,毕竟我可是懒癌晚期废话少说,我们直接设置开机启动1.在系统目录创建服务文件(不要问为什么,li...

nginx配置详解入门第一篇

nginx配置详解入门第一篇

我们从这张图开始分析nginx配置(借用网图)1. 全局块配置这个全局块配置会影响ngxin的全局,一般包括以下配置user  www; worker_processes ...

评论列表

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。