diff --git a/ghost/docker-compose.yml b/ghost/docker-compose.yml index 3299bd7..8651cf1 100644 --- a/ghost/docker-compose.yml +++ b/ghost/docker-compose.yml @@ -2,6 +2,9 @@ version: "3" services: ghost: image: ghost:latest + build: + context: ./nginx + dockerfile: Dockerfile volumes: - /srv/ghost:/var/lib/ghost/content environment: diff --git a/ghost/nginx/default.conf b/ghost/nginx/default.conf index 90879f1..7cd3f22 100644 --- a/ghost/nginx/default.conf +++ b/ghost/nginx/default.conf @@ -1,15 +1,63 @@ -server { - listen 80; - listen [::]:80; - server_name read.knast.cc; -} +# server { +# listen 80; +# listen [::]:80; +# server_name read.knast.cc; +# } + +# server { +# server_name read.knast.cc; +# location / { + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-Proto https; + # proxy_pass http://ghost:2368; + # } +# } + server { + listen 443 ssl http2 default_server; + listen [::]:443 http2 ssl; server_name read.knast.cc; + ssl on; + ssl_certificate /etc/nginx/yourhost.xyz.crt; + ssl_certificate_key /etc/nginx/yourhost.xyz.key; + ssl_protocols TLSv1.2; + location / { - proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-Proto https; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_connect_timeout 90; + proxy_send_timeout 90; + proxy_read_timeout 90; + proxy_buffering off; + proxy_cache_valid 200 30m; + proxy_cache_valid 404 1m; + + client_max_body_size 10m; + client_body_buffer_size 128k; + + proxy_pass http://ghost:2368; } + + # Cache Ghost Images + location ~ "/assets/images/(.*)-([a-z0-9]{10})\.(?:png|jpe?g|tiff)(.*)$" { + expires max; + add_header Cache-Control public; + add_header Vary Accept; + proxy_pass http://ghost:2368/$uri$webp_suffix; + access_log off; + } + + # Cache Ghost css and js + location ~* \.(?:css|js) { + expires max; + add_header Cache-Control public; + proxy_pass http://ghost:2368/$uri; + access_log off; + } + } \ No newline at end of file