nginx.oldfords.cz

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home NGINX Nginx webserver configuration for serving static files

Nginx webserver configuration for serving static files

E-mail Stampa PDF
There are no translations available.

 

 

Nginx webserver configuration for serving static files

 

#######################################################

#

pid               /var/run/nginx.pid;

user              nginx nginx;

worker_processes  4;

 

events {

worker_connections  1024;

}

 

http {

## MIME types

types {

application/xml xml;

image/gif       gif;

image/jpeg      jpg;

image/png       png;

image/bmp       bmp;

image/x-icon    ico;

text/css        css;

text/html      html;

text/plain      bob;

text/plain      txt;

}

default_type       application/octet-stream;

 

## Size Limits

client_body_buffer_size   8k;

client_header_buffer_size 1k;

client_max_body_size      1k;

large_client_header_buffers 1 1k;

 

## Timeouts

client_body_timeout   60;

client_header_timeout 60;

keepalive_timeout     60 60;

send_timeout          60;

 

## General Options

ignore_invalid_headers   on;

limit_zone gulag $binary_remote_addr 1m;

recursive_error_pages    on;

sendfile                 on;

server_name_in_redirect off;

server_tokens           off;

 

## TCP options

tcp_nodelay on;

tcp_nopush  on;

 

## Compression

gzip              on;

gzip_static       on;

gzip_buffers      16 8k;

gzip_comp_level   9;

gzip_http_version 1.0;

gzip_min_length   0;

gzip_types        text/plain text/html text/css image/x-icon image/bmp;

gzip_vary         on;

 

## Log Format

log_format  main  '$remote_addr $host $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"';

 

## Deny access to any host other than (www.)mydomain.com

server {

server_name  _;  #default

return 444;

}

 

## Server (www.)mydomain.com

server {

add_header  Cache-Control public;

access_log  /var/log/nginx/access.log main buffer=32k;

error_log   /var/log/nginx/error.log info;

expires     31d;

limit_conn  gulag 5;

listen      127.0.0.1:8080 rcvbuf=64k backlog=128;

root        /htdocs;

server_name mydomain.com www.mydomain;

 

## Only allow GET and HEAD request methods

if ($request_method !~ ^(GET|HEAD)$ ) {

return 444;

}

 

## Deny illegal Host headers

if ($host !~* ^(mydomain.com|www.mydomain.com)$ ) {

return 444;

}

 

## Deny certain User-Agents (case insensitive)

## The ~* makes it case insensitive as opposed to just a ~

if ($http_user_agent ~* (Baiduspider|Jullo) ) {

return 444;

}

 

## Deny certain Referers (case insensitive)

## The ~* makes it case insensitive as opposed to just a ~

if ($http_referer ~* (babes|click|diamond|forsale|girl|jewelry|love|nudit|organic|poker|porn|poweroversoftware|sex|teen|video|webcam|zippo) ) {

return 444;

}

 

## Redirect from www to non-www

if ($host = 'www.mydomain.com' ) {

rewrite  ^/(.*)$  http://mydomain.com/$1  permanent;

}

 

## Stop Image and Document Hijacking

location ~* (\.jpg|\.png|\.css)$ {

if ($http_referer !~ ^(http://mydomain.com) ) {

return 444;

}

}

 

## Restricted Access directory

location ^~ /secure/ {

allow 127.0.0.1/32;

allow 10.10.10.0/24;

deny all;

auth_basic "RESTRICTED ACCESS";

auth_basic_user_file /var/www/htdocs/secure/access_list;

}

 

## Only allow these full URI paths relative to document root. If you only want

## to reference the filename use $request_filename instead of $request_uri

location / {

if ($request_uri ~* (^\/|\.html|\.jpg|\.org|\.png|\.css|favicon\.ico|robots\.txt)$ ) {

break;

}

return 444;

}

 

## Serve an empty 1x1 gif _OR_ an error 204 (No Content) for favicon.ico

location = /favicon.ico {

#empty_gif;

return 204;

}

 

## System Maintenance (Service Unavailable)

if (-f $document_root/system_maintenance.html ) {

error_page 503 /system_maintenance.html;

return 503;

}

 

## All other errors get the generic error page

error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 495 496 497

500 501 502 503 504 505 506 507 /error_page.html;

location  /error_page.html {

internal;

}

}

}

#

#######################################################

 

Ultimo aggiornamento Mercoledì 20 Aprile 2011 16:37