0

I have ubuntu server, installed Webmin and Nginx server to Run - NextJS, Express JS and Node JS Rest API.

Everything works well if I use IP address for API end point, but if I replace IP address with the domain name, it returns 504 Request Time Out Following is my Nginx conf file

server {
    server_name example.com www.example.com;
    listen XXX.XXX.XX.XXX;
    root /home/myuser/public_html;
    index index.php index.htm index.html;
    access_log /var/log/virtualmin/example.com_access_log;
    error_log /var/log/virtualmin/example.com_error_log;
    fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    fastcgi_param SERVER_SOFTWARE nginx;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param SCRIPT_FILENAME /home/myuser/public_html$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param DOCUMENT_URI $document_uri;
    fastcgi_param DOCUMENT_ROOT /home/myuser/public_html;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param REMOTE_ADDR $remote_addr;
    fastcgi_param REMOTE_PORT $remote_port;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param HTTPS $https;
    fastcgi_connect_timeout 300s;
    fastcgi_send_timeout 300s;
    fastcgi_read_timeout 300s;
    
    location ~ \.php(/|$) {
        try_files $uri $fastcgi_script_name =404;
        fastcgi_pass unix:/var/php-nginx/16445681685115.sock/socket;
    }
    location / {
            proxy_pass http://localhost:3000;
            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 /api {
            proxy_pass http://XXX.XXX.XX.XXX:4000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_cache_bypass $http_upgrade;
       
    }

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

        location /public {
          proxy_pass http://127.0.0.1:8000;
        }
    
    location /upload {
        root /home/myuser/public_html/;
    }
    
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    listen XXX.XXX.XX.XXX:443 ssl;
    ssl_certificate /home/myuser/ssl.combined;
    ssl_certificate_key /home/myuser/ssl.key;
    fastcgi_read_timeout 300;
}

If I run API via Public IP address - http://XXX.XXX.XX.XXX/api/ it works fine but if I run https://example.com/api/ it returns 504 Request Timed Out

Please help!!

ktech
  • 3
  • 2

0 Answers0