一、nginx正向代理介绍及配置(需要在客户端配置代理服务器进行指定网站访问)

#模块 ngx_http_proxy_module: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header

1、环境介绍
   代理服务器系统环境为:centos
   nginx代理服务器为:192.168.10.10
   测试客户端为局域网内任意windows电脑或Linux电脑

2、正向代理简介
   通过代理服务器来访问服务器的过程 就叫 正向代理。(常见示例,通过正向代理进行上网功能)

3、nginx正向代理的配置
   3.1 http 80端口访问
   3.2 https 443端口访问。
   一个处理HTTP转发,另一个处理HTTPS转发,而客户端都通过HTTP来访问代理,通过访问代理不同的端口,来区分HTTP和HTTPS请求。

##/usr/local/nginx/conf/nginx.conf
server {
    resolver 114.114.114.114;       #resolver 定义域名解析。改成一个不存在的ip都不影响。
    listen 80;
    resolver_timeout 5s;  #用于设置DNS服务器域名解析超时时间
    access_log /usr/local/openresty/nginx/logs/access.log;
    error_log  /usr/local/openresty/nginx/logs/error.log;
    location / {
        proxy_redirect off;
        proxy_pass http://$host$request_uri;    #设定代理服务器的协议和地址 
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffers 256 4k;      #配置缓存大小,关闭磁盘缓存读写减少I/O,以及代理连接超时时间。
        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;
        proxy_cache_valid 200 302 10m;  #配置代理服务器 Http 状态缓存时间。
        proxy_cache_valid 301 1h;
        proxy_cache_valid any 1m; 
        client_max_body_size 100m;
        client_body_buffer_size 128k; 
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
        proxy_ignore_client_abort on;
    }
}
server {
    resolver 114.114.114.114;       #指定DNS服务器IP地址 
    listen 443;
    resolver_timeout 5s;
    access_log /usr/local/openresty/nginx/logs/access.log;
    error_log  /usr/local/openresty/nginx/logs/error.log;
    location / {
        proxy_pass https://$http_host$request_uri;    #设定代理服务器的协议和地址 
        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;
    }
}
# /usr/local/nginx/sbin/nginx -s reload

4、Linux客户端访问测试
#http的访问测试
# curl  -I --proxy 192.168.10.10:80 www.baidu.com
HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Mon, 11 Jun 2018 15:37:47 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 31 May 2018 09:28:16 GMT
Connection: keep-alive
ETag: "5b0fc030-264"
Accept-Ranges: bytes

https的访问测试
# curl  -I --proxy 192.168.10.10:443 www.baidu.com
HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Mon, 11 Jun 2018 15:38:07 GMT
Content-Type: text/html
Content-Length: 277
Connection: keep-alive
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Etag: "575e1f5c-115"
Last-Modified: Mon, 13 Jun 2016 02:50:04 GMT
Pragma: no-cache

5、设置Linux客户端全局代理
# vim /etc/profile
export http_proxy='192.168.10.10:80'
export http_proxy='192.168.10.10:443'
export ftp_proxy='192.168.10.10:80'

# source /etc/profile
# curl -I www.baidu.com:80
HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Mon, 11 Jun 2018 16:10:18 GMT
Content-Type: text/html
Content-Length: 277
Connection: keep-alive
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Etag: "575e1f5c-115"
Last-Modified: Mon, 13 Jun 2016 02:50:04 GMT
Pragma: no-cache

# curl -I www.baidu.com:443
HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Mon, 11 Jun 2018 16:10:27 GMT
Content-Type: text/html
Content-Length: 277
Connection: keep-alive
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Etag: "575e1f59-115"
Last-Modified: Mon, 13 Jun 2016 02:50:01 GMT
Pragma: no-cache
上面结果就说明我们的服务端nginx正向代理和客户端使用nginx做为全局代理设置成功。

6、取消代理unset http_proxy

Nginx正向代理配置详解相关推荐

  1. Nginx反向代理配置详解

    Nginx反向代理配置详解 Nginx简单的反向代理配置,包括配置文件中各项参数的的注释,好了,开始! 开始首先安装Nginx 一.建立用户和用户组 1 2 ./usr/sbin/groupadd w ...

  2. Nginx的location配置详解

    Nginx的location配置详解 匹配顺序 location 的匹配顺序其实是先匹配普通,再匹配正则 正则匹配会覆盖普通匹配(实际的规则,比这复杂) 执行顺序 普通 location的匹配规则是& ...

  3. Nginx SSI指令配置详解

    这篇文章主要介绍了Nginx SSI指令配置详解,本文讲解了什么是SSI.为什么要用SSI.nginx配置SSI.页面上配置.配置示例等内容,需要的朋友可以参考下 什么是SSI Server Side ...

  4. nginx正向代理配置

    nginx正向代理配置 一.前言# 正向代理功能比较简单,但是原生nginx不支持https代理,如果访问https网站,会报错. # nginx代理不支持http CONNECT方法: curl: ...

  5. Nginx指南和配置详解

    Nginx指南 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 因它的稳定性 ...

  6. Linux中Nginx安装与配置详解及常见问题

    3 Nginx安装 3.1 安装前的准备     1)准备 pcre-8.12.tar.gz.该文件为正则表达式库.让nginx支持rewrite需要安装这个库.     2) 准备 nginx-1. ...

  7. nginx反向代理模块配置详解_nginx反向代理配置详解

    反向代理配置 修改部署目录下conf子目录的nginx.conf文件(如/opt/nginx/conf/nginx.conf)内容,可调整相关配置. 将默认配置里面带#号注释内容去掉 grep -v ...

  8. Nginx安装及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  9. nginx安装和配置详解

    文章目录 安装 配置 main模块 events 模块 http 模块 server 模块 location 模块 upstram 模块 反向代理 反向代理服务器的基本配置 proxy_pass pr ...

最新文章

  1. CPU和GPU跑深度学习差别有多大?
  2. EasyUI--datebox设置默认时间
  3. 39.拖曳排序插件——sortable
  4. VTK:背景颜色BackgroundColor用法实战
  5. 【spring-session】介绍
  6. 题目 1885: [蓝桥杯][2017年第八届真题]分巧克力+二分
  7. PyTorch系列入门到精通——张量操作线性回归
  8. 关于Access数据库安全
  9. ad软件中的插座_STM32采集AD的输入阻抗问题(转)
  10. QAliber - 介绍一款开源的GUI自动化测试工具
  11. wpf webbrowser获取选中文本_网页文本高亮插件 web-marker
  12. 蓝桥杯模拟赛 青出于蓝而胜于蓝
  13. C++ 计算球体体积
  14. request.setattribute详解
  15. 全网最佳优惠券使用算法
  16. 注解与反射 - 反射 - 操作反射
  17. 关于Android项目中的Toast那些动画实现方式
  18. Java 中exists用法_sql中exists,not exists的用法
  19. 百度地图api-全球逆地理编码
  20. 重磅 | 小程序模板消息能力调整,长期性订阅消息终于来了

热门文章

  1. K8S DashBoard控制台
  2. Word替换指定开头和结尾的文字(如字幕文件)
  3. 算法之DFS算法框架
  4. Ordering使用
  5. vim退出时提示:q:未找到命令的解决办法
  6. MapReduce实现TopN
  7. 【知识图谱 Knowledge Graph】从它的起源看未来的研究方向。知识图谱——科普篇
  8. 发邮件到outlook查看,内容带html和css时要避坑
  9. 你得知道这3个最基础的APP技术框架
  10. 如何设计数据库(数据库设计原则)