Category: nginx

  • Checking whether nginx cache is working

    Just set up nginx caching and wondering whether it’s working properly? You can check it pretty easily:

     

    curl -I URL.goes.here

    That should return a bunch of information, but the important bit is:

    X-Proxy-Cache: MISS

     

    Well, in this case it’s not working. If it’s working you’ll see a HIT there.

  • Upload error 413 “Request Entity Too Large” on Nginx

    When trying to upload files to a Drupal installation running on nginx, we got a 413 error: Request Entity too large.

     

    We had gone through and updated the php files with regard to max upload file size limits, but had neglected to do the same to the nginx config file (/etc/nginx/nginx.conf on Debian). We had to add the following line:

    client_max_body_size 20M;

     

    in the http block and restart the nginx server to get uploads working again. The above will set the limit to 20MB; change it to suit your own environment and needs.

     

    You can also add this to the server or location blocks.

  • Securing Dokuwiki with nginx

    After migrating a server from Apache2.4 to nginx a Dokuwiki install was complaining about the following on the admin page:

    Dokuwiki security error with nginx
    Dokuwiki security error with nginx

     

    Previously .htaccess files were controlling access, which aren’t used by nginx. You can test your Dokuwiki install’s access by attempting to visit the following url:

     

    http://yourserver.com/data/pages/wiki/dokuwiki.txt

     

    If you can see any content there, you need to fix your permissions. We fixed this by adding the following to the site’s nginx config file (e.g. /etc/nginx/sites-available/sitename):

     

    location ~ ^/(data|conf|bin|inc) {
    deny all;
    }

     

    …in the same section as the other “location” stanzas, then restarted nginx (whether the latter is necessary or not I don’t know, force of habit).