Opened 3 years ago
Last modified 3 years ago
#2244 closed defect
`listen` not working inside `include` — at Version 2
Reported by: | Thomas Landauer | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | nginx-core | Version: | 1.18.x |
Keywords: | include, listen | Cc: | |
uname -a: | 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux | ||
nginx -V: |
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 1.1.1f 31 Mar 2020 TLS SNI support enabled configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-KTLRnK/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --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 --modules-path=/usr/lib/nginx/modules --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-compat --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module |
Description (last modified by )
With this being my sites-enabled/foo.conf
server { include inc*; ssl_certificate localhost.crt; ssl_certificate_key localhost.key; ... }
... and this my sites-enabled/inc
listen 443 ssl http2;
... I'm getting:
nginx: [emerg] "listen" directive is not allowed here in /etc/nginx/sites-enabled/inc:1
If I move the ssl_certificate lines to inc
(and move the listen
back to foo.conf
), it works.
So either this is a bug, or http://nginx.org/en/docs/ngx_core_module.html#include is wrongly claiming that include
works in any context.
Change History (2)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
Description: | modified (diff) |
---|
Note:
See TracTickets
for help on using tickets.
The
sites-enabled/inc
is not expected to be included byinclude inc*;
, since include paths are relative to the main configuration file. On the other hand, as long as your nginx.conf contains something likeinclude /etc/nginx/sites-enabled/*;
, which is the default in the Ubuntu nginx package you are using, the error is expected to appear, as your include file will be included in thehttp
block, and thelisten
directive is not allowed in http context.Could you please show other include directives as used in your nginx configuration, notably in
/etc/nginx/nginx.conf
?