准备工作

节点 IP 描述
server  192.168.0.3 可访问公网
client 192.168.0.4 不可访问公网

1. nginx安装

$ yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel patch  pcre pcre-devel
$ wget http://nginx.org/download/nginx-1.16.0.tar.gz
$ git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
$ tar xf nginx-1.16.0.tar.gz -C /usr/local/src/
$ cd /usr/local/src/nginx-1.16.0/
$ patch -p1 < /root/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_101504.patch
#此处proxy_connect_module选择与nginx版本有关
$ ./configure --add-module=/root/ngx_http_proxy_connect_module/
$ make -j 4
#我这里是4核的cpu
$ make install

2. 代理 nginx 服务器配置

worker_processes  2;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;resolver 114.114.114.114;server {listen 6666;proxy_connect;location / {proxy_pass $scheme://$host$request_uri;}}
server {listen                         8443;# dns resolver used by forward proxyingresolver                       114.114.114.114;# forward proxy for CONNECT requestproxy_connect;proxy_connect_allow            443 563;proxy_connect_connect_timeout  10s;proxy_connect_read_timeout     10s;proxy_connect_send_timeout     10s;# forward proxy for non-CONNECT requestlocation / {proxy_pass http://$host;proxy_set_header Host $host;}}server {resolver 8.8.8.8;listen 8080;location / {proxy_pass http://$http_host$request_uri;proxy_set_header HOST $http_host;proxy_buffers 256 4k;proxy_max_temp_file_size 0k;proxy_connect_timeout 30;proxy_send_timeout 60;proxy_read_timeout 60;proxy_next_upstream error timeout invalid_header http_502;}
}
}
  • 8080端口为http代理端口
  • 8443端口为https代理

3. 客户端配置代理

$ vim /etc/profile
export http_proxy=http://192.168.0.3:8080/
export https_proxy=https://192.168.0.3:8443/
$ source /etc/profile

测试

# http测试
$ curl http://www.baidu.com
# https 测试
$ curl https://www.baidu.com

4. wget代理配置

$ vim /etc/wgetrc
http_proxy=http://192.168.0.3:8080/
https_proxy=https://192.168.0.3:8443/
$ source /etc/wgetrc

分别使用wget http://xxxx和wget https://xxxx测试下载即可。

nginx系列-使用 Nginx 搭建公网代理服务器相关推荐

  1. 【Nginx系列】Nginx配置使用与工作原理

    热门系列: [Linux系列]Linux实践(一):linux常用命令 程序人生,精彩抢先看 目录 1.Nginx介绍 1.1 什么是Nginx? 1.2 Nginx能做什么 1.3 为什么要选择用N ...

  2. nginx系列(十七)nginx下的gzip与vary、预压缩、缓存、反向代理的结合

    前言  在http的协议里,为了减少网络传输,允许将报文进行gzip压缩以后再传输.虽然网络传输体积减小了,但是服务器压缩和浏览器的解压缩消耗了CPU的计算. 后来出现了预压缩技术,就是提前把静态文件 ...

  3. nginx系列:nginx反向缓存代理详解

    小生博客:http://xsboke.blog.51cto.com 如果有疑问,请点击此处,然后发表评论交流,作者会及时回复. -------谢谢您的参考,如有疑问,欢迎交流 一. 代理和nginx相 ...

  4. sql server 配置管理器里为什么是32位_死磕 Nginx 系列:Nginx 限流配置

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 限流算法:令牌桶算法 算法思想是: 令牌以固定速率产生,并缓存到令牌桶中: 令牌桶放满时,多余的令牌被丢弃: 请求要消耗等比例的令牌才能被处 ...

  5. Nginx 系列:Nginx 实践,location 路径匹配

    1. 目标 nginx 反向代理,路径映射的过程是什么?如何配置路径映射规则? 2. location 路径匹配 2.1. 匹配规则 location 路径正则匹配: 2.2. 匹配优先级 路径匹配, ...

  6. nginx系列之二:配置文件解读

    ** 前言 ** nginx系列之一:nginx入门 nginx系列之二:配置文件解读 nginx系列之三:日志配置 nginx系列之四:web服务器 nginx系列之五: 负载均衡 nginx系列之 ...

  7. Nginx系列五: handler 模块

    Nginx系列一:概念和配置 Nginx系列二: Nginx 的数据结构 Nginx系列三: Nginx 高级数据结构 Nginx系列四: Nginx的配置指令和handler模块概述 Nginx系列 ...

  8. 死磕Nginx系列转载

    https://www.cnblogs.com/biglittleant/p/8979966.html 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系 ...

  9. 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

    一.反向代理:Web服务器的"经纪人" 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网 ...

最新文章

  1. 【深度学习入门到精通系列】神经网络中动量的概念
  2. 工作中常用到的Linux命令
  3. [无处悲伤]年华世事两迷离
  4. VisualStudio中的代码段
  5. html语言文本框的符号,如何将文本框中的值作为HTML字符串提交?
  6. 论文笔记(Neural Collaborative Filtering)
  7. 如何运行vue项目(从gethub上download的开源项目)
  8. php栏目树,php生成无限栏目树的代码实例分享
  9. Bootstrap3 排版-地址
  10. 优秀程序员是怎样提高敲代码的效率?有这些工具就够了!
  11. HpSocket HttpEasyServer 二次封装
  12. win7此计算机与未识别的网络连接,win7本地连接未识别的网络怎么办_win7本地连接未识别的网络怎么解决-win7之家...
  13. 【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡
  14. 基于单片机的多功能定时器
  15. MATLAB怎么生成一个周期信号,matlab产生方波脉冲和周期性方波信号
  16. 可穿戴设计的传感器技术_凯利讯
  17. 四核8线程与八核的区别
  18. MOOC战德臣数据库课程自用笔记_5_SQL复杂查询与视图
  19. 最常用的linux命令大全(建议收藏)
  20. java image功能_使用JAI扩展Java Image的功能 | 学步园

热门文章

  1. Linux获取机器码
  2. antd 下拉框怎么联动_antd下拉框联动使用步骤详解
  3. 手把手教你完成一个数据科学小项目(7):经纬度获取与BDP可视化
  4. eclipse中outline图标含义
  5. iOS 搜索功能实现
  6. Avoid mutating a prop directly since the value will be overwritten whenever the parent component...
  7. 【Ada语言学习笔记】参考手册中文翻译及注记——语言概述
  8. 网页前端简单制作(超级课程表)
  9. python——爬虫示例分析(今日头条图片获取)
  10. Java--位、字节、字符、字符编码、数据存储单位 电脑的32位和64位的区别是什么呢