当前位置:首页 > CN2资讯 > 正文内容

nginx正向代理http/https和代理邮件服务nginx正向代理https

8小时前CN2资讯

nginx正向代理http/https和代理邮件服务

  • 需求背景:

    在公司内网环境,不能直接连接外网。需要内网服务通过正向代理访问到外网。


  • 安装环境准备:

         nginx本身是不支持https协议请求转发,为了让nginx能达到这一效果需要借助第三方模块ngx_http_proxy_connect_module。首先下载这一模块:https:///chobits/ngx_http_proxy_connect_module

       安装介质版本:


      pcre-8.38.tar.gz

   nginx-1.12.2.tar.gz

   ngx_http_proxy_connect_module-master.zip


  • 安装过程

1.创建nginx账户 # groupadd -g 9996 nginx # useradd -u 9996 -g 9996 nginx -s /sbin/nologin 2.解压缩 # cd /opt # tar xf pcre-8.38.tar.gz # tar xf nginx-1.12.2.tar.gz # unzip ngx_http_proxy_connect_module-master.zip 3.安装依赖,如果未安装,则安装 # yum install-y gcc gcc-c++ openssl openssl-devel 4.安装pcre # cd /opt/pcre-8.38 # ./configure --prefix=/usr/local/pcre # make && make install 5.添加ngx_http_proxy_connect_module模块,切换到nginx解压包目录下 # cd /opt/nginx-1.12.2 # patch -p1 < /opt/ngx_http_proxy_connect_module-master/patch/proxy_connect.patch 6.编译安装nginx # ./configure --prefix=/etc/nginx1.12.2 --with-http_ssl_module --with-pcre=/opt/pcre-8.38 --add-module=/opt/ngx_http_proxy_connect_module-master  --pid-path=/var/run/  --with-mail --with-stream # make && make install 7.检查安装编译 # /etc/nginx1.12.2/sbin/nginx -V nginx version: nginx/1.12.2 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)  built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --prefix=/etc/nginx1.12.2 --with-http_ssl_module --with-pcre=/opt/pcre-8.38 --add-module=/opt/ngx_http_proxy_connect_module-master --pid-path=/var/run/ --with-mail --with-stream


  • http/https代理配置


server {       resolver 114.114.114.114;  #DNS解析地址     listen 10080;              #监听地址     resolver_timeout 10s;      #超时时间     proxy_connect;           #启用"连接"http方法支持     proxy_connect_allow            443 563;  #代理可以连接的端口     proxy_connect_connect_timeout  10s;      #代理连接超时time     proxy_connect_read_timeout     10s;     proxy_connect_send_timeout     10s;     access_log  /weblogs/nginx/proxy.access.log;     error_log   /weblogs/nginx /proxy.error.log;       location / {         proxy_pass $scheme://$http_host$request_uri;         proxy_set_header Host $http_host;           proxy_buffers 256 4k;         proxy_max_temp_file_size 0;           proxy_connect_timeout 30s;                  #allow 127.0.0.1;  #ip限制         #deny all ;              } }
  • 邮件代理配置


1.在nginx.conf中最后添加stream段 stream{       log_format proxy '$remote_addr [$time_local] '                  '$protocol $status $bytes_sent $bytes_received '                  '$session_time "$upstream_addr" '                  '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';         access_log /weblogs/nginx/nginx_proxy.log proxy ;        include vhost/*.stream;   }        备注:stream段的配置要与http段在同级目录,配置文件已.stream结尾 2.添加邮件代理配置 server {         listen       25;         proxy_pass :25;   }
  • 客户端配置http/https

1.代理http/https配置 在/etc/profile添加以下内容 export http_proxy=10.10.11.193:9999 export https_proxy=10.10.11.193:9999 #source /etc/profile 2.测试命令(在客户端) 测试代理http   # curl -I http://www.baidu.com -v -x 10.10.11.93:10080 > Host: www.baidu.com   测试代理https   # curl -I https://www.baidu.com -v -x 10.10.11.93:10080 > Host:
  • 代理邮件

方法1:在客户端/etc/hosts添加解析 方法2:在对应的邮件配置中修改将邮件域名改为正向代理IP





    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24680.html

    分享给朋友:

    “nginx正向代理http/https和代理邮件服务nginx正向代理https” 的相关文章