Skip to content

Instantly share code, notes, and snippets.

@mkllnk
Created March 13, 2024 21:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkllnk/0cbec344756b5b28c3bc7a756ab302a9 to your computer and use it in GitHub Desktop.
Save mkllnk/0cbec344756b5b28c3bc7a756ab302a9 to your computer and use it in GitHub Desktop.
Nginx caching proxy config for Discover Regenerative API
proxy_cache_path /data/nginx/cache keys_zone=STATIC:500m;
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name discover.openfoodnetwork.org.au api.regenerative.org.au;
root /home/openfoodnetwork/apps/discover/current/public;
ssl_certificate /etc/letsencrypt/live/api.regenerative.org.au/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/api.regenerative.org.au/privkey.pem; # managed by Certbot
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA;
ssl_prefer_server_ciphers on;
add_header Access-Control-Allow-Credentials 'true';
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, sessionid, cache-control';
add_header 'Access-Control-Allow-Origin' $http_origin;
#add_header 'Access-Control-Allow-Origin' 'https://regenerative.org.au';
gzip on;
gzip_types text/css text/javascript text/plain application/javascript application/x-javascript application/json;
gzip_disable "msie6";
location /webhook/ {
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass https://n8n.openfoodnetwork.org.uk/webhook/;
proxy_buffering on;
proxy_cache STATIC;
proxy_cache_valid 200 8h;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_cache_background_update on;
proxy_cache_lock on;
proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
# Don't use and cache upstream CORS headers:
proxy_hide_header 'Access-Control-Allow-Credentials';
proxy_hide_header 'Access-Control-Allow-Headers';
proxy_hide_header 'Access-Control-Allow-Methods';
proxy_hide_header 'Access-Control-Allow-Origin';
# Replace URLs in JSON data:
proxy_set_header Accept-Encoding "";
sub_filter_types application/json;
#sub_filter 'github.com' 'api.regenerative.org.au';
sub_filter 'n8n.openfoodnetwork.org.uk' 'api.regenerative.org.au';
sub_filter 'discover.openfoodnetwork' 'api.regenerative';
sub_filter_once off;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment