49

I'm using Spring Boot 1.4.1 with the H2 database. I have enabled the H2 console as described in the reference guide by adding the following lines to my application.properties file:

spring.h2.console.enabled=true
spring.h2.console.path=/h2

When I go to the H2 console in Chrome 53 for Windows, I can see the login page and clicking the "Test Connection" button results in "Test successful":

enter image description here

But when I click on the "Connect" button, the screen turns completely blank. When I view the source, I see "Sorry, Lynx not supported yet" (see the full source). The same thing happens in Firefox.

Why is that happening? I believe I am using the correct JDBC URL, as 4 different people posted on this question that you should use jdbc:h2:mem:testdb.

4 Answers 4

95

According to a blog post, a line needs to be added to the configure method of the SecurityConfig class if you have the spring-boot-starter-security dependency in your project, otherwise you will see an empty page after logging into the H2 console:

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

I added that line and it solved the problem.

Alternatively, the following line can be used (as mentioned here):

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

I can resolve the same problem using the following code in my SecurityConfig class

@Override
protected void configure(HttpSecurity http) throws Exception {
    bla();
    bla();   
    http.headers().frameOptions().sameOrigin();
}

I don't know what this line does, maybe someone with more experience can explain it.

1
  • 2
    All the information present in XFrameOptionsHeaderWriter: it is adding header "X-Frame-Options: SAMEORIGIN". It works for me as well (although, I'm using ModHeader extension for Chrome instead of modifying the code).
    – heroin
    Commented Jun 25, 2018 at 12:44
0

Add this to your application.properties

 security.headers.frame=false
1
  • 2
    I have tried that, but it says "Property 'security.headers.frame' is Deprecated: The security auto-configuration is no longer customizable. Provide your own WebSecurityConfigurer bean instead." And it doesn't seem to fix the problem. Thanks anyway. Commented May 27, 2018 at 5:59
-1

Along with the answer by @pacoverflow note the following:

As of Spring Boot 2.3.4. The DB Name is printed in the console: enter image description here Connect using that DB name: enter image description here

Not the answer you're looking for? Browse other questions tagged or ask your own question.