Score:0

What does "root html" mean in nginx config?

sb flag

I saw these lines:

  location = /config.json {
    return 404;
  }

  location = /config.js {
    return 404;
  }

  location /.git {
    return 404;
  }


  location = /50x.html {
    root   html;
  }

I understand the first 3 rules are to forbid users to access the sensitive files but what does the last rule mean? What is root html ?

I am new to nginx, can somebody explain?

nginx -V output:

➜  ~ nginx -V
nginx version: nginx/1.14.0 (Ubuntu)
built with OpenSSL 1.1.1  11 Sep 2018
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-H4cN7P/nginx-1.14.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-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_geoip_module=dynamic --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
sv flag
Please post the output of `nginx -V` (that's capital V), in order to explain. Basically, it is a relative path to the prefix mentioned in the output of aforementioned command. Ref: nginx.org/r/root
Score:0
sv flag

root html defines the relative path, relative to the value of --prefix in Nginx configuration. In your case, the value of --prefix is /usr/share/nginx. So, root html means, the directory named "html" inside /usr/share/nginx is parsed to serve the requested file (50x.html). In the end, the request will look for the file at /usr/share/nginx/html/50x.html.

root html is also the default value when no root is defined in a Nginx configuration.

For more info, please see... https://nginx.org/r/root.

cn flag
Amazing answer! But... where in nginx's documentation is stated about non-absolute paths being relative to `--prefix`? `root`'s entry does not mention it
sv flag
It's mentioned at https://nginx.org/en/docs/configure.html .
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.