基于CentOS 7配置Nginx正向代理

Nginx是一款以轻量级、低内存开销、支持缓存、支持反向代理,负载均衡,电子邮件服务而著称。对于鲜为人知的是,它还可以作为一个简单易用的正向代理服务器。本文简要描述这个正向代理功能并给出演示,供大家参考。

有关Nginx的安装请参考
CentOS 7下yum方式安装Nginx
Nginx 概述及日常管理
Nginx基于IP,端口,域名配置虚拟主机

一、配置nginx正向代理服务端配置

演示环境
# more /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 当前主机名称及ip
# hostname
centos7-router# ip addr|grep -inet|grep global
9: inet 172.24.8.254/24 brd 172.24.8.255 scope global eno16777728
15: inet 192.168.1.175/24 brd 192.168.1.255 scope global dynamic eno33554960当前主机的dns配置
# more /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1nginx版本
# nginx -v
nginx version: nginx/1.12.2nginx正向代理配置
# vim /etc/nginx/conf.d/proxy.conf
server {listen 8080;            ##指定一个非缺省端口用于提供代理服务server_name localhost;resolver 192.168.1.1;    ##指定DNS服务器IPlocation / {      proxy_pass $scheme://$host$request_uri;proxy_set_header Host $http_host;##proxy_pass:设置代理服务器的协议和地址以及位置应映射到的可选URI。协议可指定http或https##proxy_set_header:与许字段重新定义或附加请求标头传递给代理服务器proxy_buffers 256 4k;          ## Author : Leshamiproxy_max_temp_file_size 0;    ## Blog  : http://blog.csdn.net/leshami##proxy_buffers:为单个连接设置用于从代理服务器读取响应的缓冲区个数和缓冲区大小##proxy_max_temp_file_size:禁用缓冲对临时文件的响应proxy_connect_timeout 30;        ##代理连接超时时间proxy_cache_valid 200 302 10m;  ##为不同的响应代码设置缓存时间proxy_cache_valid 301 1h;proxy_cache_valid any 1m;}
}# systemctl reload nginx.service
# ss -nltp|grep nginx
LISTEN 0 128 *:8080 *:* users:(("nginx",pid=110780,fd=10),("nginx",pid=19774,fd=10))
LISTEN 0 128 *:80 *:* users:(("nginx",pid=110780,fd=6),("nginx",pid=19774,fd=6))防火墙配置
# firewall-cmd --add-port=8080/tcp --permanent
# firewall-cmd --reload

二、客户端配置

客户端主机名及IP# hostnamecentos7-web.example.com# ip addr|grep inet|grep globalinet 172.24.8.128/24 brd 172.24.8.255 scope global eno16777728临时设置当前环境变量http_proxy# export http_proxy=http://172.24.8.254:8080# curl -I http://www.baidu.comHTTP/1.1 200 OKServer: nginx/1.12.2Date: Tue, 24 Oct 2017 14:59:44 GMTContent-Type: text/htmlContent-Length: 277Connection: keep-aliveLast-Modified: Mon, 13 Jun 2016 02:50:26 GMTETag: "575e1f72-115"Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transformPragma: no-cacheAccept-Ranges: bytes清除http_proxy# unset http_proxy演示wget直接使用代理参数方式访问网络# wget -e "http_proxy=http://172.24.8.254:8080" www.baidu.com--2017-10-24 23:03:48-- http://www.baidu.com/Connecting to 172.24.8.254:8080... connected.Proxy request sent, awaiting response... 200 OKLength: 2381 (2.3K) [text/html]Saving to: ‘index.html’演示curl直接使用代理参数方式访问网络# curl -x http://172.24.8.254:8080 -I http://www.baidu.comHTTP/1.1 200 OKServer: nginx/1.12.2Date: Tue, 24 Oct 2017 15:07:39 GMTContent-Type: text/htmlContent-Length: 277Connection: keep-aliveLast-Modified: Mon, 13 Jun 2016 02:50:26 GMTETag: "575e1f72-115"Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transformPragma: no-cacheAccept-Ranges: bytes如果需要用户名密码,格式curl -x "http://user:pwd@host:port" www.baidu.com配置http_proxy以及ftp_proxy到应用程序,如yum代理配置
/etc/yum.conf里面增加proxy=proxy_addr:port。# unset http_proxy# cp /etc/yum.conf /etc/yum.conf.bk# echo "proxy=http://172.24.8.254:8080">>/etc/yum.conf# tail -1 /etc/yum.confproxy=http://172.24.8.254:8080# vim /etc/yum.repo.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1# yum clean all# yum repolistLoaded plugins: fastestmirror, langpacksnginx | 2.9 kB 00:00:00nginx/x86_64/primary_db | 31 kB 00:00:01Determining fastest mirrorsrepo id repo name statusnginx/x86_64 nginx repo 90repolist: 90[root@centos7-web yum.repos.d]# yum makecacheLoaded plugins: fastestmirror, langpacksnginx | 2.9 kB 00:00:00(1/2): nginx/x86_64/other_db | 16 kB 00:00:00(2/2): nginx/x86_64/filelists_db | 39 kB 00:00:01Loading mirror speeds from cached hostfileMetadata Cache Created全局配置# cp /etc/skel/.bash_profile /etc/skel/.bash_profile.bk# vim /etc/skel/.bash_profileexport http_proxy=http://172.24.8.254:8080export https_proxy=http://172.24.8.254:8080# source /etc/skel/.bash_profile# env |grep httphttp_proxy=http://172.24.8.254:8080https_proxy=http://172.24.8.254:8080

DBA牛鹏社(SQL/NOSQL/LINUX)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcObject开发】实验:ArcObject地图开发基本操作

ArcObjects,是基于Microsoft COM技术所构建的一系列COM组件集,是在ArcGIS Desktop平台基础上的二次开发,开发语言为VBA(Vistal Basic for Application)。下面将AO开发的中的一系统基本操作做一简单的说明。 下图是功能主面板,有三个主要功能:地图漫游、地图制图和创建元素…

Cocos2D中相关问题提问的几个论坛

如果和SpriteBuilder相关可以到: http://forum.spritebuilder.com 提问. 如果是Cocos2D的问题,则可以到以下论坛询问: http://forum.cocos2d-swift.org 你也可以到神人超多的stack overflow去提问: http://stackoverflow.com

T T[] toArray(T[] a);

<T> T[] toArray(T[] a); String[] a list.toArray(new String[list.length()]);转载于:https://www.cnblogs.com/zjlog/p/5582322.html

[Python MoviePy 音视频开发零基础到实战] 一、用6条代码为你的视频裁剪以及添加水印

一、MoviePy 安装及配置 在 Python 有一个音视频开发模块 MoviePy&#xff0c;MoviePy 依赖于 FFmepg&#xff0c;使用 MoviePy 可以对音视频进行编辑&#xff1b;例如视频合成、视频处理、视频特效等。 在 Python 下直接使用 pip 工具进行安装即可&#xff1a; pip install…

C# 使用ILogger接口编写日志

.NET 有几种不同的日志记录和跟踪工具&#xff0c;还有许多不同的第三方日志记录程序。尝试将一个应用程序从一种日志记录技术更改为另一种日志记录技术不是一件容易的事情&#xff0c;因为日志记录 API 的使用分布在整个源代码中。要使日志记录独立于任何日志记录技术&#xf…

html页面调用php常量,js中的常量变量以及html文档三种引入js的方式

js 是基于事件驱动的异步单线程的脚本编程语言&#xff0c;它的全称是 JavaScript&#xff0c;虽然里边有个 java 字样&#xff0c;但是和 java 编程语言一点关系都没有。它是一种脚本语言&#xff0c;基于解释器执行&#xff0c;它是边解释便执行的语言。浏览器控制台 Console…

Android之ScrollView设置了高度(android:layout_height=“match_parent“)但里面的组件不能充满问题

1 问题 写了ScrollView控件&#xff0c;设置了高度(android:layout_height"match_parent")&#xff0c;但是里面的组件不能填充它&#xff0c;感觉就像ScrollView高度设置成了wrap_content 2 解决办法 在ScrollView里面添加如下属性即可 android:fillViewport&quo…

【ArcGIS风暴】基于ArcGIS空间分析功能研究渭河流域镇驻地空间分布格局

【内容提要】:基于ArcGIS平台,借助空间分析的方法,用空间平滑法(基于移动搜索法FAC和核估计)分析渭河流域镇驻地的分布特征。 实验过程 1. 加载数据 渭河流域的居民点(Resident_point.shp),DEM(等高线)、水系(线)、道路(线)空间数据,如下图所示。

基于iSroll 5.0实现的上拉加载和下拉刷新插件

Updownload.js 基于iSroll 5.0实现的上拉加载和下拉刷新插件 移动端效果比较好&#xff0c;开发者工具打开后&#xff0c;需要刷新下页面。 [演示地址:] https://chenyk2016.github.io/upDownLoad/demo.html [github地址:] https://github.com/chenyk2016/upDownLoad/ 效果图 1…

[小白进] 大佬们学习为什么简单?小白该如何学习?学历不高如何找工作?副业很好赚?了解后少走弯路

一、前言 对于新手来说&#xff0c;最开始学习编程的难度不亚于学天书&#xff0c;那为什么有经验的程序员在接触一门新技术时能够快速的上手并且完成一些需求的开发呢&#xff1f; 有些人可能看了这个问题觉得我在说废话&#xff0c;“有经验那不快那怎么才快&#xff1f;”…

Chrome如何离线安装crx文件

2019独角兽企业重金招聘Python工程师标准>>> 在Chrome浏览器的谷歌网上应用商店Chrome Web Store上点击应用安装按钮「添加至Chrome」&#xff0c;变成下载文件。把下载文件一拖进浏览器也不能安装。下面是如何离线安装crx文件的方法&#xff1a; ①点击Google Chr…

新坑

最近准备多看一些论文辣&#xff0c;先大体整理一下要看的东西浅谈启发式思想在信息学竞赛中的应用后缀自动机及其应用浅谈分块在一类在线问题中的应用浅谈图的匹配算法及其应用Dp的一些优化技巧对置换群有关算法的初步研究线段树在一类分治问题上的应用慢慢填吧转载于:https:/…

【Envi风暴】Envi 5.1平台下植被覆盖度(VFC)的遥感估算

【导读】植被覆盖度是指植被(包括叶、茎、枝)在地面的垂直投影面积占统计区面积的百分比。常用的计算方法有:经验模型法、植被指数法、像元分解模型法、FCK模型法、决策树分类法和神经网络法。本文利用像元二分模型计算植被覆盖度(VFC)。 一、数据 张掖市Landsat TM影像(…

基于.NetCore开发博客项目 StarBlog - (6) 页面开发之博客文章列表

系列文章基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客&#xff1f;基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目基于.NetCore开发博客项目 StarBlog - (3) 模型设计基于.NetCore开发博客项目 StarBlog - (4) markdown博客批量导入基于.N…

时间序列matlab代码,MATLAB在时间序列建模预测及程序代码.pdf

第二十四章 时间序列模型时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域&#xff0c;即时间序列分析。时间序列根据所研究的依据不同&#xff0c;可有不同的分类。1&#xff0e;按所研究的对象的多少分&#xff0…

Android之安卓8.0版本以上手机开启热点提示Caller already has an active LocalOnlyHotspot request

1 问题 在Android8.0手机开启了热点,关闭页面再次打开热点, /*** 开启Android8.0版本手机以上的热点,热点名字和密码都是随机的。*/fun initWifiApGreaterThanEight(context: Context) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {var wifiManager:WifiMana…

JavaScript基础和js概括

js内容概括&#xff1a; Html 结构化 CSS 样式 JavaScript 行为交互 01.JavaScript基础 02.JavaScript操作BOM对象 03.JavaScript操作DOM对象 ***** 04.JavaScript的面向对象 -------------------------------------- 05.jQuery (js) .css .js 06.jQuery选择器 …

《看聊天记录都学不会C语言?太菜了吧》(12)循环有多容易?你看一眼就怀...

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖…

***ECharts图表入门和最佳实践

ECharts数据图表系统&#xff1f; 5分钟上手&#xff01; 【ECharts简介】 ECharts开源来自百度商业前端数据可视化团队&#xff0c;基于html5 Canvas&#xff0c;是一个纯Javascript图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数…

【经典回放】多种语言系列数据结构线性表之一:顺序表

一、实验任务描述 建立线性表的ADT后,编程完成: 1 用C语言完成一个顺序表结构; 2 为顺序表完成追加、删除、插入、查找的功能; 3 建立一个链表的结点; 4 完成链表的追加、删除、插入功能; 5* 用C#完成一个结点的类; 6* C#完成链表的追加、删除、插入功能的类; 7* C#编写…