nginx使用笔记

简介

主要记录一些使用nginx的一些特殊的技巧。常用的不会记录在内

技巧

使用rewrite重定向时保留referer网站来源

首先我们要知道referer是浏览器主动发起时带入的。跟服务端无关。而浏览器在进行rewrite重定向时并不会带入referer,而目前没有成熟的解决方案。这里记录一个骚操作: 通过cookie来进行同域之间的referer传递

比如我有一个页面www.moonrailgun.com,我想检测当用户是手机端访问时跳转到m.moonrailgun.com
那么要这么做:

1
2
3
4
5
6
7
8
#在www.moonrailgun.com把referer数据写入cookie:
add_header Set-Cookie "referer=$http_referer;Domain=moonrailgun.com";

#在m.moonrailgun.com把referer数据根据cookie信息重新构造出来:
if ($http_cookie ~* "referer=(.+?)(?=;|$)") {
set $referer_cookie $1;
}
proxy_set_header Referer $referer_cookie;

文章目录
  1. 1. 简介
  2. 2. 技巧
    1. 2.1. 使用rewrite重定向时保留referer网站来源