dpaste/server/nginx.conf

102 lines
2.8 KiB
Nginx Configuration File
Raw Normal View History

limit_req_zone $binary_remote_addr zone=login:10m rate=2r/s;
2014-12-13 08:25:43 +11:00
upstream app_server {
server 127.0.0.1:12000 fail_timeout=0;
}
# Combined log with remote:local port logged
log_format combined_port '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$remote_port:$server_port"';
2013-06-06 04:44:31 +10:00
# -----------------------------------------------------------------------------
# Redirect all sort of non-ssl (with and without www) to ssl without www
# -----------------------------------------------------------------------------
server {
listen 80;
2014-12-13 06:16:51 +11:00
server_name dpaste.de
www.dpaste.de
dpaste.org
www.dpaste.org;
2013-05-29 08:35:01 +10:00
location / {
rewrite ^ https://$server_name$request_uri? permanent;
}
2013-05-27 19:26:36 +10:00
}
2013-06-06 04:44:31 +10:00
# -----------------------------------------------------------------------------
# SSL Hosts
# -----------------------------------------------------------------------------
server {
2014-12-13 06:16:51 +11:00
listen 443 ssl spdy;
server_name dpaste.org www.dpaste.org;
ssl_certificate /srv/dpaste.de/var/ssl/dpaste_org_unified.crt;
ssl_certificate_key /srv/dpaste.de/var/ssl/dpaste_org.key;
add_header Strict-Transport-Security max-age=25200;
# Redirect to dpaste.de
location / {
rewrite ^/(.*)$ https://dpaste.de/$1 permanent;
}
}
2013-05-27 19:26:36 +10:00
server {
2014-12-13 06:16:51 +11:00
listen 443 ssl spdy;
2013-06-06 04:46:55 +10:00
server_name dpaste.de www.dpaste.de;
2013-05-31 19:47:02 +10:00
2013-05-29 08:35:01 +10:00
ssl_certificate /srv/dpaste.de/var/ssl/dpaste_de_unified.crt;
ssl_certificate_key /srv/dpaste.de/var/ssl/dpaste_de.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES256+EECDH:AES256+EDH;
ssl_session_cache builtin:1000 shared:SSL:5m;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security max-age=25200;
2013-06-06 04:44:31 +10:00
# Rewrite www to non-www
2013-09-28 05:28:07 +10:00
if ($host = www.dpaste.de) {
2013-06-06 04:44:31 +10:00
rewrite ^/(.*)$ https://dpaste.de/$1 permanent;
}
access_log /srv/dpaste.de/var/nginx.access.log combined_port;
error_log /srv/dpaste.de/var/nginx.error.log;
2013-06-06 04:44:31 +10:00
keepalive_timeout 5;
2014-12-13 06:16:51 +11:00
client_max_body_size 2M;
2014-12-15 09:19:03 +11:00
location ~ /(favicon.ico|robots.txt) {
access_log off;
log_not_found off;
expires 3d;
}
2014-12-25 23:56:39 +11:00
location /webalizer/ {
alias /srv/dpaste.de/var/webalizer/;
auth_basic "Restricted";
auth_basic_user_file /srv/dpaste.de/var/.htpasswd;
}
location /media/ {
alias /srv/dpaste.de/var/media/;
}
2013-05-29 09:00:41 +10:00
location /static/ {
alias /srv/dpaste.de/var/static/;
2013-06-06 04:44:31 +10:00
}
location / {
2014-12-13 08:25:43 +11:00
limit_req zone=login burst=5;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_buffering off;
2014-12-13 06:16:51 +11:00
proxy_pass http://app_server;
break;
}
}