Nginx搭建web服务器完美实现正向https、反向、图片代理

1概念

首先说下自已理解的正反向代理。

  • 正向代理:最开始网络馈乏,人们有上网的需要,需要一台机器能上处在内网的人们上网,于是从内到外的代理服务器为正向代理服务器
  • 反向代理:同理,从外到内称之为反向代理服务器

2资源准备

  • 源码包:Nginx-1.8.1.tar.gz
  • 依赖包:openssl-1.0.1e.tar.gz、pcre-8.39.tar.gz、zlib-1.2.8.tar.gz
  • 正向https代理插件:大神写的名不见经转的 ngx_http_proxy_connect_module-master 插件
    所需要的这些资源我已上传到csdn,大家搜索“nginx正向https代理、反向代理、图片代理源码安装包 ”即可找到。

3安装要点及命令

  • tar:tar -zxvf ***.tar.gz 解压tar包至当前目录
  • nginx:在nginx安装好之后 在sbin目录下 存在nginx可执行文件
    ./nginx -t /home/app/nginx/conf/nginx.conf 测试配置文件是否正确(后面路径可省略)
    ./nginx -c /home/app/nginx/conf/nginx.conf 启动nginx(后面路径可省略)
    ./nginx -s reload 热加载配置文件(进程服务不停)
    ./nginx -s stop 停止服务
    ./nginx -v 显示版本号
    ./nginx -V 显示祥细版本信息、安装配置信息,已安装模块等
  • kill -quit nginxMaster主进程可优雅停止(在处理完所有请求后停)
  • kill -9 nginxMaster主进程(强制停止)

在三个运行依赖包及nginx源码安装时,用tar -zxvf 命令将tar包解压后,在源码目录下都有config或者configure安装配置文件,可分别安装也可解压好之后,在安装nginx时一次指定安装,下面介绍一次安装。
进入nginx解压后的目录,执行如下安装配置
./configure --user=nginx --group=nginx --prefix=/home/app/nginx --with-pcre=/home/app/nginx/pcre-8.39/ --with-zlib=/home/app/nginx/zlib-1.2.8/ --with-openssl=/home/app/nginx/openssl-1.0.1e/ --with-http_stub_status_module --with-http_ssl_module --add-module=/home/app/nginx/ngx_http_proxy_connect_module-master
命令执行完毕后,make make install即可实现一次安装依赖库、nginx主程序、增加模块。
ps:安装依赖库时指定的路径为源码路径。

4配置

  • 反向代理及图片代理
    Nginx搭建web服务器完美实现正向https、反向、图片代理_第1张图片
  • 正向代理
    Nginx搭建web服务器完美实现正向https、反向、图片代理_第2张图片附图以示正向代理https请求成功
    Nginx搭建web服务器完美实现正向https、反向、图片代理_第3张图片本地内网代理服务器为:10.3.104.11 我在这台服务器上安装了nginx代理,起用9090端口作为正向代理虚机。在其他服务器上使用curl命令验证成功。-k参数为关闭curl命令的ssl证书校验,-x 为指定代理机器。

alias 真实访问路径中不带locatoin识别路径
如上图中图版代理使用alias,则访问http://waiwanglujing:duankou/resource/ 时,实际访问到的路径为http://dailifuwuqi/home/wxftp/weixin
root 真实访问路径中不带locatoin识别路径
如上图中图版代理使用alias,则访问http://waiwanglujing:duankou/resource/ 时,实际访问到的路径为http://dailifuwuqi/home/wxftp/weixin/resource/

5总结

  • 网上传言的nginx不能实现正向代理https请求是不正确的。
  • 网传的通过openssl创建CA证书实现正向https代理的,在本人验证时未能成功实现,该方式有待后续考证。
  • 大神提供的ngx_http_proxy_connect_module-master插件配合nginx时,在nginx1.10.0以下版本验可以加载该模块成功,我验证时在nginx1.8.1版本安装成功,在nginx1.13.7 、nginx1.15.9好增加该connect模块时均不成功,截止发稿,问题依然未解。
  • nginx反向代理性能确实优于apache,通过网页加载速度可以感受到。
  • 所需要的这些资源我已上传到csdn,大家搜索“nginx正向https代理、反向代理、图片代理源码安装包 ”即可找到。

你可能感兴趣的:(项目开发经验)