H2-Console не отображается в браузере

Я работаю над SpringBoot API и использую базу данных H2 со следующими настройками свойств.

spring.h2.console.enabled=true
spring.datasource.name=test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.datasource.initialization-mode = embedded
spring.datasource.url=jdbc:h2:mem:test
spring.jpa.hibernate.ddl-auto = update

Когда я хочу использовать браузер для просмотра консоли базы данных H2 через " http://localhost: 8082/h2-console ", откроется экран в браузере с кнопкой подключения и проверки соединения. Когда я нажимаю "Проверить соединение", он возвращается успешно, но когда нажимается кнопка "Подключить", появляется ошибка, из-за которой localhost отказался подключиться.

Here is the screen of that error

Ответы

Ответ 1

Согласно этому сообщению в блоге, необходимо добавить строку в метод configure класса SecurityConfig если в вашем проекте есть зависимость spring-boot-starter-security в противном случае вы увидите пустую страницу после входа в консоль H2:

http.headers().frameOptions().disable();

Я добавил эту строку, и это решило проблему.

В качестве альтернативы можно использовать следующую строку (как упомянуто здесь):

http.headers().frameOptions().sameOrigin();

Ответ 2

Помимо ответа @Alien, мне также пришлось добавить http.csrf().disable();.

Ответ 3

У меня точно такая же проблема, и ответ выше решил и мою проблему. Большое спасибо!

Ответ 4

добавьте эти две строки в свой весенний файл безопасности, и все готово.

    http.csrf().disable();
    http.headers().frameOptions().disable();

Ответ 5

Консоль Н2 показывалась после отключения от VPN