Можно ли получить протокол Mercure с Heroku, используя платформу API?

Я развернул API и клиент API Platform с использованием Heroku, но похоже, что Mercure не работает "из коробки", но я думаю, что в моем приложении отсутствует конфигурация.

Единственное, что я настроил, это MERCURE_SUBSCRIBE_URL = http://my-random-herokuapp-name-generated.herokuapp.com/hub.

В производственном процессе я получаю сообщение об ошибке 404 на своем хаб-адресе, а локально я получаю ответ о том, что не предоставил тему (что имеет смысл, потому что я просто запросил адрес, чтобы выполнить тестирование без указания каких-либо параметров).

В локальной среде платформа API полного пакета предоставляется вместе с докером, на котором запущен сервер Mercure. Думаю, это может быть ответом на то, что herokuapp не поддерживает Mercure, но мне это не очень понятно.

Поэтому я получаю ошибку 404 not found на адресе концентратора вместо 200

1 ответ

Чтобы использовать Mercure с платформой API, необходимо также развернуть концентратор Mercure. Хаб можно скачать по https://mercure.rocks/. Затем вы можете легко развернуть его на Heroku в качестве приложения Go.

Твой Procfile должен выглядеть так:

web: ADDR=$PORT ./mercure

Всем, даже если это небезопасно (см. Документ mercure, чтобы узнать больше https://mercure.rocks/docs/hub/install)

этот Procfile просто работает из коробки с heroku

web: ADDR=:$PORT ./mercure --jwt-key='!ChangeMe!' --debug --allow-anonymous --cors-allowed-origins='*' --publish-allowed-origins='*'
Другие вопросы по тегам