2

I'm having trouble getting SSI to work on NGINX. You can see the problem if you hit http://www.bakerycamp.com/test.shtml. Here is the contents of that file:

<!--# echo hi -->

If you hit this in a browser, you see the SSI directive in the content - so apparently NGINX is not interpreting the SSI directive.

My NGINX config file looks like this:

server {
    listen  80;
    server_name     bakerycamp.com www.bakerycamp.com;
    access_log      /var/log/nginx/bakerycamp.access.log;
    index           index.html;
    root            /home/bakerycamp.com;
    location /      { ssi   on; }

    # Deny access to all hidden files and folders
    location ~ /\.  { access_log off; log_not_found off; deny all; }
}

I did not build NGINX from sources but installed it using apt-get. I assume it has the SSI module (since that is default) but perhaps not? Should I just bite the bullet and rebuild from sources? Is there anyway to tell if the installed NGINX supports SSI and my config is just wrong?

Marko
  • 227
  • 4
  • 7
  • 15
Mike Kelly
  • 169
  • 3
  • 10

1 Answers1

5

In nginx, the SSI directive echo is used to echo the contents of variables, not arbitrary text.

To test SSI, try something like:

<!--# set var="test" value="Hello nginx!" -->
<!--# echo var="test" -->

See the documentation for further details.

Michael Hampton
  • 237,123
  • 42
  • 477
  • 940