【Nginx】Nginx配置限制HTTP请求

问题一

HTTP1.1定义了八种主要的方法,其中OPTIONS、DELETE等方法在生产环境可以被认为是不安全的,因此需要配置Nginx实现限制指定某些HTTP请求的方法来达到提升服务器安全的目的。

配置

    if ($request_method !~ ^(GET|HEAD|POST)$ ) {
        return 501;
    }

上面的配置实现了只允许GET、HEAD、POST请求,其他请求会直接跳转501。

问题二

当上传服务器上传数据到存储服务器时,用户上传写入的目录就不得给Nginx对应的用户相关权限,这样一旦程序有漏洞,木马就有可能被上传到服务器挂在的对应存储服务器的目录中。虽然也做了禁止PHP, SH, PY等扩展名的解析限制,但是还是会遗漏一些想不到的执行文件。

对于这种情况,通过限制上传服务器的Web服务(可以具体到文件)使用GET方法,防止用户通过上传服务器访问存储内容,让访问存储渠道只能从静态或者图片服务器入口进入。如在Nginx中配置:

配置

    if ($request_method !~ ^(GET)$ ) {
        return 501;
    }

或者加一层location,更具体地限制文件名。

你可能感兴趣的:(Nginx)