我是靠谱客的博主 缓慢毛衣,最近开发中收集的这篇文章主要介绍Nginx反向代理的原理及测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.原理.        

        提到Nginx的反向代理就不得不说一下,正向代理和反向代理的区别

正向代理: 

       以加速器为例, 当你需要访问一些国外网站或游戏,不得不借助代理服务器转发你的请求给国外服务器,国外服务器处理后返回给代理服务器再返回给用户. 这里的关键在于 用户是借助第三方服务器转发自己的请求.

 

反向代理:

        以某宝为例,当你在某宝购物时,必须用多台服务器解决并发请求,中间担任请求分发角色的便是Nginx(实际上是Tengine,只不过是Nginx封装了一些其它组件而成的代理服务器). 这里的关键在于 反向代理服务器和目标服务器属于同一方,用反向代理可以隐藏目标服务器的真实ip或域名,并且可以根据策略作负载均衡.

 

 二.测试.

在windows上测试.

1.官网下载.

https://nginx.org/en/download.html

2.conf目录下,配置nginx.conf.


#user  nobody;
worker_processes  1;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;



        location / {
            root   html;
            index  index.html index.htm;
        }

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


    }

    upstream backend{
            server    localhost:62557;
            server    localhost:62558;
            server    localhost:62559;
    }
    server {
        listen       83;


        location / {

			proxy_pass http://backend;
        }
    }



}

 这里为了简便,后端真实服务器就在本机,且放在62557,62558,62559三个端口.并且nginx采用轮询策略,当浏览器访问 http://backend 便按策略依次分发给 三个服务器处理.

3.启动nginx.

网上有说双击nginx.exe的,有说命令行start nginx,这里不管采用哪种,知道看到任务管理器出现2个nginx进程就行.

4.创建并启动后端服务器.

用springInitialnizar勾选web功能快速创建三个springboot工程,分别设置端口62557,62558,62559,并编写一个test的controller,如图示意:

 

 5.DNS配置.

这是最坑的,很多文章没有提及该点.如果没有配置,无论你是输入域名 还是域名+端口 都访问不到服务器.

C:WINDOWSSystem32driversetc

该目录下打开hosts文件,末尾添加:

127.0.0.1 backend

这样本机才能解析域名backend.

6.访问.

由于nginx监听的83端口,且采用轮询策略,浏览器多次访问 http://backend:83/ 就能看到不同页面响应.同一服务器访问2次后换服务器访问,效果如下:

最后

以上就是缓慢毛衣为你收集整理的Nginx反向代理的原理及测试的全部内容,希望文章能够帮你解决Nginx反向代理的原理及测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部