我必须打开ngx_http_access_module吗?

时间:2017-09-15 09:32:55

标签: nginx ngx-http-access-module

我必须打开ngx_http_access_module吗?

我在docs中没有看到任何安装步骤 - 当然除了配置文件。与他们声明的docs of gzip_static_module不同:

  

默认情况下不构建此模块,应使用--with-http_gzip_static_module配置参数启用它。

2 个答案:

答案 0 :(得分:1)

在您的计算机上运行nginx -V,您将看到您的nginx是否使用该模块进行编译

  

nginx -V

     

nginx版本:nginx / 1.10.3(Ubuntu)   使用OpenSSL 1.0.2g构建2016年3月1日   启用TLS SNI支持

     

配置参数: - with-cc-opt =' - g -O2 -fPIE -fstack-protector-strong -Wformat -Werror = format-security -Wdate-time -D_FORTIFY_SOURCE = 2' - with-ld- opt =' - Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'--prefix = / usr / share / nginx --conf-path = / etc / nginx / nginx.conf --http-log-path = / var / log / nginx / access.log --error-log-path = / var / log / nginx / error.log --lock-path = / var / lock / nginx.lock --pid-path = / run / nginx.pid --http-client-body-temp-path = / var / lib / nginx / body --http-fastcgi-temp-path = / var / lib / nginx / fastcgi --http-proxy-temp-path = / var / lib / nginx / proxy --http-scgi-temp-path = / var / lib / nginx / scgi --http-uwsgi-temp-path = / var / lib / nginx / uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module - -with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http _sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

以上是Ubuntu 16.04 LTS上的默认nginx。正如您所看到的那样,使用

编译默认值

编辑-1:默认模块

当我们谈论默认模块时,有两件事情。

一种是在下载源代码并在编译之前运行./configure。这将遵循nginx文档,这意味着文档说This module is not built by default, it should be enabled with the --with-http_gzip_static_module configuration parameter.。然后将不构建模块

第二个是当你使用你的OS包管理器使用let {'1}}来安装nginx时。这将带有在Nginx文档中可能未指定为默认值但在OS Nginx包分发中默认的模块。

答案 1 :(得分:0)

实际上,第一个答案的第一部分是不正确的:

  

在您的机器上运行nginx -V,您将看到您的nginx是否使用该模块进行编译

根据nginx,它们在所有不需要外部依赖性的模块中编译默认情况并且这些模块不会在nginx -V中显示;你必须隐式编译而不用它。

我有一个类似的问题 - 无法阻止工作,并认为该模块没有编译或可用 - 实际上是和nginx -V做列出它。正确的配置是:

location ~* /maint {
    allow xxx.xxx.xxx.xxx;
    deny all;
}

这是我失踪的条款开头的代字号。现在工作完美,我没有碰任何模块或编译任何东西。

Serverfault similar question

nginx block documentation

nginx module compiling