最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
nginx反向代理配置与优化之nginx优化
时间:2022-06-30 18:47:18 编辑:袖梨 来源:一聚教程网
环境为:Windows2003 + nginx.(根据官方文档建议,使用1.5.10版本,即当前最新版).
一.简单的配置,让nginx先跑起来
nginx配置比较简单.conf目录下找到nginx.conf文件,修改如下配置
代码如下 | 复制代码 |
server { |
注意proxy_set_header Host $proxy_host;这个配置,官方文档为proxy_set_header Host $host; 但是经过试验,并不能成功启用反向代理,文档中的内嵌变量也没有$host,不知文档有错误,还是我的理解错误.
将cmd切换至nginx目录,运行start nginx,运行nginx,进程中就多了2个nginx.exe进程.运行nginx -s stop关闭nginx,运行nginx -s reload重启nginx.注意:关闭或重启命令有时候不能关闭nginx,如果修改配置无效,要检查下nginx是否真正退出.
2.通过反向代理后的请求头变化
我们来看下启用反向代理后,请求头多了些什么.上一段php取请求头的代码
代码如下 | 复制代码 |
$headers = array(); foreach ($_SERVER as $key => $value) { echo $key."=".$value; echo " "; if ('HTTP_' == substr($key, 0, 5)) { $headers[str_replace('_', '-', substr($key, 5))] = $value; } } ?> |
通过反向代理访问这段脚本后,得到如下结果:
代码如下 | 复制代码 |
USER=www HOME=/home/www FCGI_ROLE=RESPONDER GATEWAY_INTERFACE=CGI/1.1 SERVER_SOFTWARE=nginx/1.2.9 QUERY_STRING= REQUEST_METHOD=GET CONTENT_TYPE= CONTENT_LENGTH= SCRIPT_NAME=/tools/test.php REQUEST_URI=/tools/test.php DOCUMENT_URI=/tools/test.php DOCUMENT_ROOT=/web SERVER_PROTOCOL=HTTP/1.1 REMOTE_ADDR=123.170.241.72 REMOTE_PORT=11827 SERVER_ADDR=103.251.91.175 SERVER_PORT=80 SERVER_NAME=www.111com.net REDIRECT_STATUS=200 SCRIPT_FILENAME=/web/tools/test.php HTTP_HOST=111com.net HTTP_CONNECTION=keep-alive HTTP_CACHE_CONTROL=max-age=0 HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 HTTP_ACCEPT_ENCODING=gzip,deflate,sdch HTTP_ACCEPT_LANGUAGE=zh-CN,zh;q=0.8 HTTP_COOKIE=wp-settings-1=imgsize%3Dfull%26editor%3Dtinymce%26hidetb%3D1%26ngg_show_update_notice196%3D1%26libraryContent%3Dbrowse%26align%3Dnone%26urlbutton%3Dpost%26mfold%3Do; wp-settings-time-1=1386907183; bdshare_firstime=1393228286385; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_c9c95ee17ba7f5ef416fc56a8a98a5ff=NINE%7C1393388079%7Cce226d537feb3af00ea52d0cf8d71600 PHP_SELF=/tools/test.php REQUEST_TIME=1393261963 |
3.后端网站代码修改
如果后端网站需要取访问者IP,通过取请求中的”REMOTE_ADDR”属性取到的是反向代理的ip,此时我们通过反向代理转发请求时添加的请求头来获取访问者的真实IP.目前我的后端网站为.net.
代码如下 | 复制代码 |
public string getRequstAddr (HttpContext context){ |
相关文章
- 《绝区零》伊芙琳培养材料汇总 01-24
- 《无限暖暖》1.2春节兑换码一览 01-24
- 《网上国网》查询阶梯档位方法 01-24
- 《蛋仔派对》神游贺岁盲盒获取方法 01-24
- 《炉石传说》星际联动盗贼卡组玩法介绍 01-24
- 皮革珊瑚属于珊瑚中的 01-24