Skip to content

can proxy_caching in nginx cause problems with parse? #1780

Closed
@benishak

Description

@benishak

Env

  • ParseServer 2.2.9 (running with pm2)
  • AWS EC2 (CentOS + NGINX)

Question

I just enabled caching on my nginx, can this cause any problem ? Here is my nginx.conf

user  nginx;
worker_processes  2;
worker_rlimit_nofile 30000;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}

http {

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    client_body_buffer_size             10K;
    client_header_buffer_size           1k;
    client_max_body_size                8m;
    large_client_header_buffers 2 1k;

    keepalive_timeout           15;
    client_body_timeout         12;
    client_header_timeout       12;
    send_timeout                10;

    gzip  on;
    gzip_comp_level  2;
    gzip_min_length  1000;
    gzip_proxied     expired no-cache no-store private auth;
    gzip_types       text/plain application/x-javascript text/xml text/css application/xml application/javascript;


    proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=backcache:8m max_size=50m;
    proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args";
    proxy_cache_valid 200 302 10m;
    proxy_cache_valid 404 1m;

    # pm2
    server {

        server_name app.server.com;

        location / {
           proxy_pass http://localhost:9000;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection 'upgrade';
           proxy_set_header Host $host;
           proxy_cache_bypass $http_upgrade;
       }
    }

    upstream api {
        least_conn;
        server IP:8080        weight=1 max_fails=1;
        server IP:8080       weight=1 max_fails=1;
    }

    # parse-production
    server {

        server_name api.server.com;

        proxy_buffering off;
        proxy_buffer_size 4k;

        location / {

           proxy_cache backcache;
           proxy_cache_bypass $http_cache_control;
           add_header X-Proxy-Cache $upstream_cache_status;

           proxy_pass http://api;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection 'upgrade';
           proxy_set_header Host $host;
           proxy_cache_bypass $http_upgrade;
        }
    }

    #include /etc/nginx/conf.d/*.conf;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions