Nginx反向代理

1.代理服务器:

客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

2.正向代理:

架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求(SNAT地址转换),客户机必须指定代理服务器,并将本来要直接发送到web服务器上的http请求发送到代理服务器中。比如我想访问www.google.com,就可以通过代理服务器来访问。


客户端需要配置代理服务器地址。服务端不知道真正的客户端是谁。

3.反向代理:

反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。

反向代理对外表现的是一个服务器,访问者并不知道自己访问的是一个代理。

4.nginx的安装及配置实验

A与B在同一网段,C与D在同一网段,B能与C,D联通

nginx也具有http的功能,在C,D上配置nginx作为http服务器使用

C的端口:8081

D的端口:8082

(1)配置epel源

(2)安装

yum -y install nginx
(3)服务器端修改配置文件/etc/nginx/nginx.conf
 server {
        listen       8081 default_server;      #修改端口为8081,服务器2修改为8082
        listen       [::]:8081 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

默认网页位于/usr/share/nginx/html下的index.html中

(4)配置nginx反向代理

安装

yum -y install nginx

修改配置文件/etc/nginx/nginx.conf

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
#上部分为系统默认,无需修改
    upstream myserver1 {
        server 10.5.5.17:8081;    #服务器1的IP及端口
    
    }
    upstream myserver2 {
         server 10.5.5.18:8082;   #服务器2的IP及端口
    
    }
    server {
        listen 80;
        server_name server1;
        location / {
        proxy_pass http://myserver1;     
        index index.html index.htm;
 }
    }
    server {
        listen 80;
        server_name server2;
        location / {
        proxy_pass http://myserver2;
        index index.html index.htm;
    }
}
}

(5)测试

物理机浏览器访问nginx反向代理服务器的IP,出现服务器1(服务器2)中index.html的页面,即物理机通过反向代理服务器B访问服务器C,D




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值