Я переместил свой магазин Magento с SSL на SSL (веб-сервер: Nginx)
Проблема: JS-скрипты сайта (функция Multiple Ajax с «POST») перестали работать! Запросы принимаются, но не могут получить ответ. Заголовки ответа (501 B)
Я очень уверен, что это связано с неправильной конфигурацией веб-сервера Nginx. Нужно ли мне использовать обратный прокси для использования SSL? Если да, то как? Добрый совет.
Мой Nginx example.conf выглядит так:
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;
}
& Мой Nginx ssl-domain.conf выглядит так:
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;
}
}
Наконец я исправил это, проблема заключалась в том, что Nginx не передает параметры URL.
Я решил это, добавив $ args в блок местоположения:
try_files $ uri $ uri / /www/index.php?$args;
location / {
try_files $uri $uri/ /index.php?$args;
expires 30d;
}