CSP блокирует подключение к серверу Websocket

#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:")