I made an embed page with Spring-boot. The one to show from other sites with iframe. At this time, Spring Security was introduced and the HTTP header "X-Frame-Options" was set to DENY by default, and the embedded page was not displayed.
Since this X-Frame-Options itself should be DENY in order to suppress clickjacking on ordinary pages, I decided that it is better to set not to send this header only on the embedding page. However, "setting X-Frame-Options only for a specific URL" was a little complicated, so I summarized it.
I think that other HTTP Headers can be set for each URL if necessary (unverified).
| Target URL | X-Frame-Options | 
|---|---|
| example.com/contents/embed/** | Do not send the header itself | 
| Other than the above URL | DENY (default) | 
People with the same worries are on Stack overflow. So, this time I referred to this.
Disable X-FrameOptions response header for a URL Spring Security JAVA config https://stackoverflow.com/questions/42257402/disable-x-frameoptions-response-header-for-a-url-spring-security-java-config
If you set it with the same "configure (HttpSecurity http)", all URLs will be affected. It seems that the key is to prepare multiple extended WebSecurityConfigurerAdapters.
@EnableWebSecurity
public class WebMVCSecurity {
    //Make settings for authentication. option. This is just a sample, X-Frame-It does not affect Options, so you can change it.
    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication()
                .withUser("user").password("password").roles("USER").and()
                .withUser("admin").password("password").roles("USER", "ADMIN");
    }
    //This is the most important.
    //Create an instance of WebSecurityConfigurerAdapter.@Set the reading order with the Order annotation.
    @Configuration
    @Order(1)
    public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
        protected void configure(HttpSecurity http) throws Exception {
            // 「"/contents/embed/**"Specify the URL you want to apply.
            //This time I wanted to set no header, so ".headers().frameOptions().disable()".
            // 「.headers().frameOptions().sameOrigin()There are also settings such as ", so please check it out.
            http.antMatcher("/contents/embed/**").headers().frameOptions().disable();
        }
    }
    //Create another instance of WebSecurityConfigurerAdapter.
    // 「"/contents/embed/**"The settings here are applied to URLs that do not correspond to.
    // @If you do not add the Order annotation, other@It is said that it will be loaded after Order.
    @Configuration
    public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.authorizeRequests()
                    .anyRequest().authenticated()
                    .and()
                    .formLogin();
            //etc. Please set according to the project.
        }
    }
} 
that's all.