skip to Main Content

I’m creating a Nginx file server, and I’m trying to enable the fancy-index module to get have custom header and footer, but I can’t get it working, the header/footer never load. (The request isn’t even done from the browser).

For now, I’ve followed this tutorial : https://neilmenon.com/blog/install-nginx-fancyindex

My current config for the site is

server {
        listen  80;

        server_name myname;

        autoindex on;
        autoindex_exact_size    off;    
        autoindex_localtime     on;     
        location / {                    
                root /var/www/html
                fancyindex on;
                fancyindex_exact_size off;
                fancyindex_footer /fancy-index/footer.html;
                fancyindex_header /fancy-index/header.html;
                fancyindex_css_href /fancy-index/style.css;
                fancyindex_time_format "%B %e, %Y";
        }
}

I’ve also loaded the module in the nginx.conf on the first line of the file

load_module /usr/share/nginx/modules/ngx_http_fancyindex_module.so;

I also clarify that I am new to nginx, so I apologize if this is a common issue that I should be aware of.

Thanks in advance, any help would be much appreciated

2

Answers


  1. Chosen as BEST ANSWER

    I wasn't able to find a solution to use fancy index however, I've got a workaround by using the module ngx_http_addition_module on which fancy index is based.

    This module is here : https://nginx.org/en/docs/http/ngx_http_addition_module.html

    Basically, the configuration goes as follows :

     location / {                    
                    root /var/www/html
    
                    addition_types text/html;                  # Replace this with watever mime type this server is responding
                    add_before_body /fancy-index/header.html;  # Replace the fancyindex_header 
                    add_after_body /fancy-index/footer.html;   # Replace the fancyindex_footer 
            }
    

    You don't have the possibility to link a stylesheet from these directives or changes the time format, but nothing prevent to load a stylesheet from the header and adding a script in it for the time.


  2. I had the same problem. The issue is coming from the fact that you enable autoindex.

    To fix the issue you need to comment the line that reference autoindex

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search