美文网首页
docker nginx反向代理

docker nginx反向代理

作者: booker丶 | 来源:发表于2020-06-19 16:36 被阅读0次

    在我们日常工作中,应该经常听到或者和用到反向代理,通过反向代理来达到客户端与服务端之间的访问,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

    反向代理

    代理分为正向代理和反向代理,代理应该不用多解释了,理解成中间人就可以了。正向代理是内网通过代理访问外网,这个代理就是正向代理。而反向代理是指,外网通过代理访问内网,那这个代理就是反向代理。
    假设把你公司的网看成是内网,那么你从公司里面的一台电脑上访问你家里的电脑上的服务,那就的通过正向代理,而你从你家电脑访问公司的这台电脑,就要通过反向代理。

    反向代理与负载均衡一样,也是位于客户端与服务器之间,客户端向服务器发起的请求都是先经过反向代理,然后分发到服务器上,然后服务器将返回结果交给反向代理,反向代理在交给客户端。

    反向代理的作用:

    • 增强了安全性: 首先,你背后的服务器是在反向代理后面的,其不会暴露任何信息到网络上,所以可以防止恶意攻击。第二可以防止DDoS( distributed denial-of-service)攻击,例如通过限制某一IP访问,限制每个客户端的访问次数等。
    • 增强了可伸缩性与灵活性:因为客户端只能看到反向代理的Ip地址,所以我们就可以灵活的改变其后面服务器的配置。
    • 加速Web访问速度:第一:将返回结果压缩后交给客户端,这样就会节省网络带宽,从而加快速度。第二:将请求的加密解密操作放在反向代理服务器上行执行。第三:在反向代理服务器上做缓存。

    nginx反向代理

    1.nginx环境安装
    准备nginx环境,如未安装可参考:docker构建nginx镜像

    2.配置nginx反向代理
    使用下面命令进入nginx容器内部

    # -it 交互模式,表示分配一个伪终端
    # nginx  容器名称 ,也可以是容器id
    # /bin/bash  表示对容器执行bash操作
    docker exec -it nginx /bin/bash
    

    执行完,cd根目录 ls下系统目录发现就是一个Linux系统

    image.png

    进入nginx目录

    image.png
    使用vim nginx.conf 编辑配置文件
    在server段里面的location加上proxy_pass http://ip:端口; image.png

    完成后重启nginx
    ./nginx -s reload
    访问页面成功代理

    image.png

    ps:如果本地有多个项目可以使用路由的形式实现代理跳转- -

    image.png

    相关文章

      网友评论

          本文标题:docker nginx反向代理

          本文链接:https://www.haomeiwen.com/subject/ocwsxktx.html