# CHANGE THE PORT OF THE API
# CHANGE PATH TO INDEX
# CHANGE SERVER NAME IF NEEDS
# CHANGE LOG FILES IF NEEDS

upstream api { ip_hash; server 127.0.0.1:8802 max_fails=3 fail_timeout=300s; }

server
{
        listen 80 ;
        root   /path/to/playground;
        server_name playground.loc;
	    index  index.html;

                
        # ROOT - PLAYGROUND ROOT
        location / {
		    try_files $uri $uri/ /index.html;
		    expires -1;
        }
        # REDIRECT ROOT TO BASE PROJECT'S ROOT
        # location / { proxy_pass http://api;   proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }
        location /api { proxy_pass http://api;   proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }
        location /user { proxy_pass http://api;   proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }
        location /tools { proxy_pass http://api;   proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }
        location /all-paths { proxy_pass http://api;   proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }
        location /spec { proxy_pass http://api;   proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }

        client_max_body_size 20M;

        rewrite ^/user/(.*)$ /user/$1 break;
        rewrite ^/tools/(.*)$ /tools/$1 break;
        rewrite ^/all-paths/(.*)$ /all-paths/$1 break;
        rewrite ^/spec/(.*)$ /spec/$1 break;

        location ~ /\.ht {
            deny  all;
        }

        access_log  /var/log/nginx/playground.access.log main;
        error_log  /var/log/nginx/playground.error.log;

} #server


