summaryrefslogtreecommitdiff
path: root/usr/local/etc/nginx
diff options
context:
space:
mode:
Diffstat (limited to 'usr/local/etc/nginx')
-rw-r--r--usr/local/etc/nginx/nginx.conf68
1 files changed, 68 insertions, 0 deletions
diff --git a/usr/local/etc/nginx/nginx.conf b/usr/local/etc/nginx/nginx.conf
new file mode 100644
index 0000000..b03ed4b
--- /dev/null
+++ b/usr/local/etc/nginx/nginx.conf
@@ -0,0 +1,68 @@
+user nobody;
+worker_processes auto;
+
+events {
+ worker_connections 1024;
+}
+
+http {
+ include mime.types;
+ default_type application/octet-stream;
+ access_log /var/log/nginx/access.log;
+ sendfile on;
+ keepalive_timeout 65;
+
+ # Allow gzipping js, css, log, svg and json files.
+ gzip on;
+ gzip_buffers 16 8k;
+ gzip_comp_level 6;
+ gzip_http_version 1.0;
+ gzip_min_length 1100;
+ gzip_proxied any;
+ gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript image/gif image/jpeg image/png application/json image/svg+xml;
+
+ types {
+ text/plain log;
+ }
+
+ server {
+ listen 80 default_server;
+ root /usr/local/share/poudriere/html;
+
+ ## Allow caching static resources
+ location ~* ^.+\.(jpg|jpeg|gif|png|ico|svg|woff|css|js|html)$ {
+ add_header Cache-Control "public";
+ expires 2d;
+ }
+
+ ## pkg index
+ location /pkg {
+ autoindex on;
+ alias /usr/local/poudriere/data/packages;
+ }
+
+ ## log data
+ location /data {
+ alias /usr/local/poudriere/data/logs/bulk;
+
+ # Allow caching dynamic files but ensure they get rechecked
+ location ~* ^.+\.(log|txz|tbz|bz2|gz)$ {
+ add_header Cache-Control "public, must-revalidate, proxy-revalidate";
+ }
+
+ # Don't log json requests as they come in frequently and ensure
+ # caching works as expected
+ location ~* ^.+\.(json)$ {
+ add_header Cache-Control "public, must-revalidate, proxy-revalidate";
+ access_log off;
+ log_not_found off;
+ }
+
+ # Allow indexing only in log dirs
+ location ~ /data/?.*/(logs|latest-per-pkg)/ {
+ autoindex on;
+ }
+ break;
+ }
+ }
+}