Используйте Laravel Echo с докером (проблема CORS) - PullRequest
0 голосов
/ 25 апреля 2019

Я хочу использовать Laravel Echo следующим образом:

У меня есть два docker-контейнера, один для laravel (php) и один для сокет-сервера (https://hub.docker.com/r/mintopia/laravel-echo-server).

Теперь у меня проблема, что Laravel Echo не может подключиться к серверу из-за CORS.

Я уже нашел одну опцию для эхо-сервера, поэтому я добавил ECHO_ALLOW_ORIGIN = http://php:80 в переменные окружения. К сожалению, это ничего не меняет.

Может кто-нибудь, пожалуйста, скажите мне, как это исправить?

1 Ответ

1 голос
/ 25 апреля 2019

Я использую k1sliy / laravel-echo-server, но расположение / команды должны быть похожими.

Вы используете общий каталог с вашим сертификатом TSL / SSL и laravel-echo-server.json или только с самими файлами. Например, я начинаю свой с чего-то вроде (заметьте, я думаю, что мой порт нестандартный для эха, потому что мне нужен один прокси-сервер cloudflare):

docker run -d --name echo \
-p 8443:8443 \
-v YOURPATH/laravel-echo-server.json:/app/laravel-echo-server.json \
-v YOURPATH/privkey.pem:/app/privkey.pem \
-v YOURPATH/cert.pem:/app/cert.pem k1sliy/laravel-echo-server

Вы захотите отредактировать файл laravel-echo-server.json и убедитесь, что в нем есть это (где YOUR_ORIGIN_HERE - это орган, который вы хотите разрешить), а также уничтожьте и заново создайте контейнер докера, чтобы заставить его перечитать конфигурацию:

  "apiOriginAllow": {
        "allowCors": true,
        "allowOrigin": " YOUR_ORIGIN_HERE ",
        "allowMethods": "OPTIONS, GET, POST",
        "allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"
    }

Источник - это источник, каким его видит браузер хоста / клиента. php скорее всего, имя хоста в контейнерах докеров, сопоставленных с частной сетью 172, что вряд ли будет тем, что вам нужно. Вы хотите, чтобы это было все, что вы вводите в адресной строке (без протокола) браузера для доступа к сайту, вероятно, 128.0.0.1, localhost или 192.168. XX, за которым следует двоеточие и порт (вероятно, 80 или 443). ... вы также можете сделать * для порта, чтобы любой порт мог общаться с эхо-сервером).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...