междоменная проблема
яйцо-корс включен:
конфигурация яичного кора:
Это наиболее часто используемый плагин для решения междоменных проблем.
Однако в моем реальном проекте некоторые требования не могут быть выполнены, поэтому я думаю, что у egg-cors есть определенные ограничения в конфигурации.
- Параметр origin может задавать только доменное имя или '*', если вы хотите вести белый список, боюсь, он не поддерживается;
- Если задано значение ' * ', чтобы разрешить междоменное использование всех доменных имен, если запрос имеет параметр withCredentials: true, междоменная проблема остается.
Для того, чтобы решить вышеперечисленные проблемы, я решил сам создать плагин egg-origin. Это промежуточное программное обеспечение, и код очень прост.
Правильно, выше весь код 😅😅
Принцип: При поступлении каждого запроса получать его источник, если он есть в настроенном белом списке, установить вручную this.ctx.response.set('Access-Control-Allow-Origin', origin); таким образом можно настроить кросс- белый список доменов в соответствии с вашими потребностями.
Инструкции:
Используйте то же, что и яйца
яйцо-происхождение включено:
конфигурация яичного происхождения:
Здесь параметру whiteList может быть присвоено имя домена или он может быть напрямую установлен в [' * '], который должен быть массивом, а также для сохранения той же привычки настройки, что и у egg-cors.
Белый список, установленный egg-origin, переопределит конфигурацию egg-cors. Только стоя на плечах великанов можно увидеть дальше, благодаря великанам.
Дальнейший план итерации
В настоящее время он поддерживает только режим точного соответствия.Последующий план итерации включает настройку доменного имени первого уровня, всех имен поддоменов и добавление конфигурации [черный список] для фильтрации некоторых доменных имен.