nginx.oldfords.cz

  • Aumentar el tamaño de la letra
  • Tamaño de letra predeterminado
  • Reducir el tamaño de la letra
Home NGINX Nginx webserver configuration for serving static files

Nginx webserver configuration for serving static files

Correo electrónico Imprimir 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;

}

}

}

#

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

 

Última actualización el Miércoles 20 de Abril de 2011 16:37