%20%D0%B8%20%D0%BA%D0%B5%D1%88%D0%B5%D0%BC%20Varnish.png)
Я разместил сайт Magento2 с Nginx, SSL-терминацией и кэшем Varnish.
Кэш Varnish работает на порту 8080, а веб-сайт Magento2 размещен на порту Nginx 8081. Трафик HTTP и HTTPS принимается тем же Nginx и перенаправляется в кэш Varnish (с завершением SSL).
У меня два вопроса:
- Если я попытаюсь получить доступ к сайту Magento2, который работает на порту 8081, напрямую из интернета, он обойдет SSL-терминацию и напрямую подключится к сайту. Как я могу это ограничить?
- При настройке baseurl magento2, если я хочу разместить его на другом порту, а не на порту по умолчанию 80, нужно ли мне указывать номер порта на этапе настройки baseurl? Например:-
php bin/magento setup:install --base-url=http://www.example.com:8081
решение1
На вопрос 1: Простой вариант — настроить nginx на прослушивание порта только на localhost
или 127.0.0.1
и настроить бэкенд в VCL с .host = "localhost";
или .host = "127.0.0.1";
. Другие варианты — использоватьсокет домена unix или абстрактный сокет(начиная с версии 7.3, которая выходит на следующей неделе).