#java #angular #websocket #jhipster #content-security-policy
Вопрос:
У меня есть приложение, созданное jhipster, в котором я хочу добавить веб-сайт. Локально все работает, но на сервере я получаю ошибки CSP. Как это можно решить? Я пытался добавить <meta http-equiv="Content-Security-Policy" content="connect-src *;">
index.html
, но это не помогает. Nginx находится перед приложением в качестве прокси-сервера.
Комментарии:
1. Вы проверили csp в инструментах браузера, чтобы проверить, применяются ли ваши изменения?
2. Да, все они применимы.
Ответ №1:
При весенней загрузке CSP устанавливается на java, а не в index.html, вот почему ваше изменение не оказало никакого влияния.
Если вы посмотрите на конфигурацию безопасности.java в созданном вами проекте вы увидите эту строку:
.contentSecurityPolicy(jHipsterProperties.getSecurity().getContentSecurityPolicy())
Это означает, что CSP напрямую копируется из свойств приложения в разделе jhipster.security.content-security-policy
ключ.
Итак, просто отредактируйте приложение.yml, чтобы изменить его.
Комментарии:
1. У меня есть эта линия, и она все еще не работает.
.contentSecurityPolicy("default-src 'self'; connect-src 'self'; frame-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://storage.googleapis.com; style-src 'self' https://fonts.googleapis.com 'unsafe-inline'; img-src 'self' data:; font-src 'self' https://fonts.gstatic.com data:")