Magento 2.2 Nginx мульти-сайт одного домена не получает магазин

Я установил свежую установку 2.2.4 EE (никаких сторонних модулей или чего-либо еще) и настраиваю как мульти-сайт на одном домене. Поскольку это в конечном итоге заменяет существующий сайт, я получил его с использованием субдомена "prod" для основного сайта, а каждый другой сайт находится на субдомене. Итак, вот пример моей установки:

prod.site.com
corpA.prod.site.com
corpB.prod.site.com

Я использовал Nginx и letsencrypt для настройки каждого сайта в соответствии с документацией, а в конфигурации хранилища администратора я установил все 4 базовых URL-адреса для соответствия. Вот пример записи nginx

map $http_host $MAGE_RUN_CODE {
   corpA.prod.site.com corpa;
}

map $http_host $MAGE_RUN_TYPE {
   corpA.prod.site.com website;
}

server {
   server_name corpA.prod.site.com;
   set $MAGE_ROOT /var/www/html/magento2;
   include /var/www/html/magento2/nginx.conf.sample;

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/corpA.prod.site.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/corpA.prod.site.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = corpA.prod.site.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


   listen 80;
   server_name corpA.prod.site.com;
    return 404; # managed by Certbot
}

Я также добавил следующее в файл nginx.conf.sample, как они упоминались в документации.

fastcgi_param  MAGE_RUN_TYPE $MAGE_RUN_TYPE;
fastcgi_param  MAGE_RUN_CODE $MAGE_RUN_CODE;

У меня не включен SID хранилища (общий доступ пользователей установлен на уровне веб-сайтов, мы не делим пользователей между сайтами), добавлен код магазина, добавленный к пути, или настроена переадресация 302, потому что я хочу, чтобы субдомен был указан в URL, когда вы находитесь на этом сайте.

Зайдя на мой corpA.prod.site.com загружает, но показывает контент с основного веб-сайта, такой как имя сайта и домашняя страница (и я получаю ошибки из разных источников, когда он пытается загрузить статический контент / информацию о клиенте с prod.site.com Веб-сайт). URL-адрес правильный, и его загрузка правильного сертификата.

То, что я хочу решить, это

1.) Как я могу получить правильный сайт для загрузки? Я полагаю, что я правильно устанавливаю MAGE_RUN_CODE и URL / сертификат в порядке, хотя, похоже, он позволяет загрузить основной сайт.

2.) Как я могу исправить эти ошибки перекрестного происхождения? Я не уверен, почему статический контент не соответствует базовому URL.

Я видел некоторые посты, рассказывающие об изменении файла index.php, это обязательно?

0 ответов

Другие вопросы по тегам