Nginx 由于出色的性能、反向代理,已经在 Web 服务占据重要地位,但说到反向代理,很多人也只是一知半解,只知道它是 Nginx 里面的功能,要是问到具体是做什么用,跟正向代理有何区别就答不上来了。
正向代理 vs 反向代理
从这张图我们可以看到,正向代理是代理客户端的,与客户端同属一体,隐藏了真实客户端,典型的例子就是使用 VPN 科学上网。
继续阅读 »
代理模式是为一个对象提供一个代用品或占位符,以便控制对他的访问。代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个对象来控制这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理后再把请求转交给本体对象。
不使用代理:客户 → 本体
使用代理:客户 → 代理 → 本体
先来一个带点趣味性的例子,小明要给女神A送花,然后他不好意思,打算让B代送
var Flower = function(){};
var xiaoming = {
sendFlower: function( traget ) {
var flower = new Flower();
t
继续阅读 »
Nginx得到反向代理前的真实IP
Java Servlet可以通过request.getRemoteAddr()得到请求的客户端的IP
现在一般情况下都不是直接用Tomcat或者Jetty这样的web容器,都会在前面加上Nginx或者Tengine之类的静态Web容器来反向代理。
由于经过了Nginx转发请求,通过request.getRemoteAddr()得到的IP就成了127.0.0.1
可以在Nginx配置里加上
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
这个意思是在nginx做反向代理的时候把代理前的地址放到http hea
继续阅读 »
Node.js代理服务器
出于信息安全的需求,很多公司对于员工电脑访问外网都会有很多特别的限制,比如某国内大型上市IT解决方案供应商,所有的员工电脑必须通过某个指定的HTTP代理服务器访问互联网资源,并且还要进行用户名密码的验证,导致很多无法设置代理服务器的软件以及仅支持socks5代理的软件都无法使用,甚至想要在调试应用的时候调用一些第三方api都需要做很多特殊设置。
比如正常的Node.js在做HTTP请求的时候,代码如下:
var http = require('http');
var opt = {
host: 'api.example.com', //要访问的服务器地址或者域名
port: 808
继续阅读 »
今天在使用Nginx给Uwsgi服务做反向代理的时候,遇到一个问题。配置步骤如下:
启动Uwsgi服务
在使用Flask框架的Python项目中,配置文件:uwsgi.ini的内容如下:
```
[uwsgi]
master = true
processes = 16
threads = 2
chdir=/xxx
socket = 127.0.0.1:1234
日志输出地址
logto = /xxx/uwsgi.log
daemonize = /xxx/uwsgi.log
reload
py-autoreload = 1
pid
pidfile = /xxx/uwsgi.pid
```
继续阅读 »
RESTful API 调用很多人都在用 Retrofit,说到 Retrofit 就不得不提动态代理,虽然这不是它唯一的亮点,而且也不是动态代理的典型使用场景,但大家就是爱问:说说动态代理是怎么回事吧?Retrofit 的解析请见 拆轮子系列:拆 Retrofit。
继续阅读 »
下列代码全部基于python3.4
more
``` python
import urllib.parse,urllib.request,http.cookiejar,os,xlrd,xlwt3,time,random
print ("######## 确保关闭了所有的EXCEL,运行时不要打开任何EXCEL文件 ########")
rfile = xlrd.open_workbook('read.xls')
rfile.sheet_names()
rsheet = rfile.sheet_by_name(u'Sheet1')
resultfilenum = 0
result = str(resultfilenum)
继续阅读 »
预置环境:
- 操作系统:Win7
步骤:
1. 到goagent的主页可以找到下载和配置goagent的教程
2. 修改git https协议的代理为goagent:
进入主目录:C:\Users\用户名\
修改.gitconfig文件,添加两行设置:
继续阅读 »
虚拟代理实现图片预加载
图片预加载:图片过大或者网络不佳时,图片位置有段时间会是一片空白,常见的用一张loading占位,然后异步加载图片,等图片加载好了再把它填充到img节点里。
var myImage = (function() {
var imgNode = document.createElement('img');
document.body.appendChild( imgNode );
return {
setSrc : function( src ) {
imgNode.src = src;
}
}
})();
var pr
继续阅读 »
《大话设计模式》里面,有这样一则小故事:小菜帮修过电脑的女同学(娇娇)找他吃饭,他借机问娇娇有没男朋友,娇娇却很残忍的告诉他已经有男朋友(戴励),小菜很好奇地想知道娇娇跟戴励的恋爱故事,之后两人就陷入了“回忆”当中。
“娇娇同学,这是有人送你的礼物。”一个男生手拿着一个芭比娃娃送到她的面前。
继续阅读 »