一次nginx的排查经历

现象

配置nginx的https,但是修改配置文件之后一直无法访问。。。

排查步骤

刚开始以为是防火墙的原因,由于是阿里云的主机,所以直接登录云主机查看安全配置。一切都是OK的。

然后又查看主机自己的防火墙,由于是centos7,所以在此花了点时间,最后还是将443端口添加到了防火墙规则中,然后重启防火墙。。。

阅读更多

在nginx中编写rewrite

在使用Nginx做一个反向代理的时候难免会碰到一些特殊的URL,例如获取图片的URL是http://dsda/XXX.jpg,后来由于需要加一个时间戳来获取另外一张图片的话,此时的URL就为http://dsda/XXX.jpg?time=YYYY
当遇到这个情况的时候是有两种选择的,分别如下:

配置location

也就是在nginx中的server里面再加入一个匹配 ,但是这样加入的话若以后不再更改还好,一旦需求再次变更,就会导致配置许多的location。所以这种做法的话如果只是一些固定的URL还是可行的,但是若匹配一些动态的URL则不推荐。
官网的说明如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
listen 80;
server_name example.org www.example.org;
root /data/www;

location / {
index index.html index.php;
}

location ~* \.(gif|jpg|png)$ {
expires 30d;
}
}

配置rewrite规则

阅读更多

nginx出现403的总结

今天在使用nginx的时候访问首页总是提示403forbidden,经过各种查询之后,总结为如下几种原因:

  1. 访问的资源权限不足,最好将nginx访问的资源权限修改为755或者777
  2. SeLinux的设置为true,需要将其修改为false

如果出现首页的访问资源不是指定的目录的话,可以在/etc/nginx/nginx.conf中添加一条语句root XXX,XXX代表的是资源目录。
其他的暂时没发现什么问题