nginx反向代理实验(仅ip)
环境配置
安装nginx,先配置yum源
1 | cd /etc/yum.repos.d/ |
nginx.conf
文件的内容如下:
1 | [nginx-stable] |
配置完成后,直接yum安装nginx就好了,yum会自动更新并配置上源
1 | yum install nginx -y |
安装完成后,cd进入目录,将原先的nginx.conf备份
1 | cd /etc/nginx |
然后使用工具cs2modrewrite生成对应你的cs中profile文件的nginx.conf
1 | git clone https://github.com/threatexpress/cs2modrewrite |
举个例子,我的环境如下
- nginx: 192.168.1.100
- cs server: 192.168.1.101
- profile filename: test.profile
1 | python3 ./cs2nginx.py -i test.profile -c http://192.168.1.101 -r https://www.baidu.com -H 192.168.1.101 >/etc/nginx/nginx.conf |
于是你就会得到这样一份文件
排错
这里面有很多东西都是用不上的,例如xff是为了获取到ip,more_set_headers是为了隐藏标识
所以我们改一下配置文件
- 首先第12行的内容
我们是root启动,不需要这个,注销
- 36行的内容
这个需要额外装一个模块来设置,这个说实话没啥必要在,不配置了
- 132行的规则
这里有个问题,正常来说按照profile生成的内容不会有错,但是在实际的请求中我们可以看到GET请求的地址不只是jquery-3.1.1.min.js,而是/cs/jquery-3.1.1.min.js
这是因为我们对路径进行了修改,所以在配置文件中体现不了的话,生成的规则是有误的(如果没修改的话,无视这条),当你上了重定向器,会发现规则匹配不上而导致无法生效重定向器
所以我们稍微修改一下规则,这样不管前面是什么,只要以这些结尾,都能匹配的上,然后触发反向代理
1 | location ~* (^/.*)(jquery-3.3.1.min.js|vue.min.js|jquery-3.3.2.min.js|bootstrap-2.min.js) { |
- 关闭selinux
配置完成并开启后,发现返回的是504的内容了
这个时候去/var/log/nginx/error.log中查看,会发现如下报错
关闭selinux即可
1 | # 临时关闭,重启后失效 |
尝试上线