NGINX反向代理

NGINX反向代理

说明:
刚接触nginx觉得很难,很多,很杂,之后把nginx文件配置分开看,就发现问题很简单了,这里记录一下个人的nginx的反向代理的配置过程。一起学习。


业务需求

A服务器上边有我的服务,
B客户端需要请求我的服务(A服务器),
但是由于网络等原因B客户端不能直接连接我的A服务器,但是通过中间服务器C访问。流程图是下面这样:

B客户端
C服务器
A服务器

这个时候C服务器就可以做反向代理,直接将B客户端的需求扔给A服务器处理。

一、反向代理是什么?

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

二、反向代理的主要作用:

目前web网站使用反向代理,除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,
还可以进行负载均衡,将用户请求分配给多个服务器。

三、配置反向代理(Nginx):

- 准备工作

C服务器需要安装好nginx服务以1.8为例(本文不赘述,请自行百度),
A服务器IP和业务端口。

例如:A服务器有两个业务。
域名为:www.test1.com -对应IP和端口- 123.456.789.147:8080
域名为:www.test2.com -对应IP和端口- 123.456.789.147:8090

2.开始配置

打开C服务器nginx配置

vim  /etc/nginx/nginx.conf

找到server并将server改为

server {  
        listen       8080;  
        server_name  -;
          
  		#1.如果B访问域名,请填写C服务器的域名!!!
  		#2.如果B访问IP,此处可以不填写。
  		
        location / {  
            proxy_pass   http://123.456.789.147:8080; 
            #或者填写域名 proxy_pass   http://www.test1.com; 
            index  index.html index.htm index.php;  
        }       
    }  
server {  
        listen       8090;  
        server_name  -;
          
  		#1.如果B访问域名,请填写C服务器的域名!!!
  		#2.如果B访问IP,此处可以不填写。
  		
        location / {  
            proxy_pass   http://123.456.789.147:8090; 
            #或者填写域名 proxy_pass   http://www.test2.com; 
            index  index.html index.htm index.php;  
        }       
    }  


如果你没找到server说明你的server是引入文件的形式,可以把引入的地方注释掉,改成上面的。也可以自己去改引入文件的server

3.重启nginx服务

service nginx restart

4.其他说明

注意C服务器的防火墙是否开启了指定端口的出入站规则。

总结

遇到问题不要慌,多观察,多学习。每天都进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值