Reverse proxies

1. Create new domain

cd /etc/nginx/sites-available
sudo nano domain.com
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=7d use_temp_path=off;

upstream project_upstream {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name domain.com;
    rewrite ^(.*) https://domain.com$1 permanent;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    root /usr/share/nginx/html/project;
    
    ssl on;
    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

    server_name domain.com;
    server_tokens off;

    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;

    location / {
        proxy_pass http://project_upstream;
    }
}

Change domain.com, port, project dir to your project info.

2. Cache file for nuxtjs - nextjs

location /_next/static {
    proxy_cache STATIC;
    proxy_pass http://project_upstream;
}

location /static {
    proxy_cache STATIC;
    proxy_ignore_headers Cache-Control;
    proxy_cache_valid 60m;
    proxy_pass http://project_upstream;
}

location / {
    proxy_pass http://project_upstream;
}

Last updated

Was this helpful?