Ajax "POST" not working on HTTPS/SSL Nginx

6,803

I finally fixed it, problem was Nginx Not Passing URL Parameters.

I solved it by appending $args in location block:

try_files $uri $uri/ /www/index.php?$args;

location / {
    try_files $uri $uri/ /index.php?$args;
    expires 30d;  
}
Share:
6,803

Related videos on Youtube

perlware
Author by

perlware

Updated on September 18, 2022

Comments

  • perlware
    perlware over 1 year

    I moved my magento store from non SSL to SSL (webserver: Nginx)

    The problem : The site's JS scripts ( Multiple Ajax function with "POST" ) has stopped working! Requests are fine but not able to get the response. Response headers (501 B)

    I am very much sure this is due to Nginx webserver misconfiguration. Do i need to use reverse proxy to use SSL? If so how? Kindly advise.

    My Nginx example.conf looks like this:

        server {
            listen      189.xx.xx.xx:80;
            server_name example.com;
            root        /home/example/public_html;
            index index.html index.php;
            return 301 https://example.com$request_uri;
        }
    

    & My Nginx ssl-domain.conf looks like this:

    server
        {
        listen      189.xx.xx.xx:443 default ssl;
        server_name example.com;
        root        /home/example/public_html;
        index index.html index.php;    
    
        ssl on;
        ssl_certificate /etc/ssl/example.crt;
        ssl_certificate_key /etc/ssl/example.key;
        ssl_prefer_server_ciphers on;
    
        location / {
            try_files $uri $uri/ /index.php;
            expires 30d;   
        }
    
      location ~* \.(gif|jpg|jpeg|pdf|txt|css|js|png|ico|xml|xml|gz)$ {
    access_log  off;
        expires 30d;
        add_header Pragma public;
        add_header Cache-Control "public";
    }
    
        location ~ \.php$ {
            expires off;
            fastcgi_read_timeout 900s;
            fastcgi_index index.php;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/conf/fastcgi_params;
        }
    
    }