十二周四次课(4月26日) 12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理

扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog.lishiming.net/?p=100

注释掉:

增加内容如下:

改为如下:

测试如下:

12.14 Nginx访问控制

增加内容如下:

测试如下:

ip来源是192.168.133.130

配置网卡ens37

匹配正则

之前,举过一个例子,上传图片的目录,没有禁止解析php的操作。最后导致悲剧发生。

能上传的目录,禁掉解析php,命令如下:

增加内容如下:

测试:

可以访问txt文件

隐藏网站

增加如下内容:

测试如下:

访问不了。

T变成小写,可以访问。

忽略大小写,命令如下:

~后加*,改为如下:

12.15 Nginx解析php相关配置

增加内容如下:

建一个php,命令如下:

编辑文件:

增加如下内容:

不能解析,直接把源码显示出来了。

重新加载,配置生效。

fastcgi_pass 如果写另外的路径,就会解析不出来,显示502。

故意写错,做实验

会显示502,因为找不到sock

编辑文件

改为如下:

首先查看错误日志

查看这个文件存不存在

查看php里定义的sock

listen定义了什么,就要在配置文件里定义什么。

打开配置文件

改正过来。

不监听sock,监听ip端口,命令如下: 打开文件 改为如下:

改为如下:

没有显示502

如果出现502,要查看fastcgi_pass定义的地址,和php-fpm服务器监听的地址匹不匹配,还要查看fastcgi_param SCRIPT_FILENAME定义的路径,和前面root那个路径保持一致。

12.16 Nginx代理

web服务器只有一个私网,用户要想访问到web,需要一个中间者。中间者和web服务器互通,中间者和用户互通。大陆到美国的服务器很慢,香港代理可以到美国服务器很快,大陆到香港代理比较快。大陆可以通过香港代理到美国服务器。

没有root,不用访问本地服务器,写入内容如下: