How to remove or modify Confluence X-Frame-Options response header?
Asked by Dirk Brutscher:

Hi,

my current Confluence 5.8.15 / TomCat 8 instance seems to add a "X-Frame-Options: SAMEORIGIN" header to all responses. How can I disable or modify this behavior? (please no security discussion :wink:)


Answers:
author: Dirk Brutscher
body: Hi,

behavior seems to be related with the option:

`antiClickJackingEnabled`` c.f. `<https://tomcat.apache.org/tomcat-8.0-doc/config/filter.html>

Because I didn't want to change the default configuration, I rewrote my plugin to use JSONP instead of been loaded within an iframe.


author: Jens Kasperek (Bosch GmbH)
body: Same issue over here! Since we upgraded to Confluence 5.8.16 we experience an issue that all iFrame integrations do not work anymore. Additionally, we had multiple issues with the new sameorigin policy since we use a Tivoli Access Manager in front of our Tomcat.

comments: author: Dieter Greiner
body: Jens, just saw on <https://jira.atlassian.com/browse/CONF-29230> and from the source in SecurityHeadersInterceptor.java that-Dconfluence.clickjacking.protection.disable=truemight help. Please try that, i haven't checked it yet


author: Jens Kasperek (Bosch GmbH)
body: We had this setting enabled on Confluence 5.8.16 which worked fine. Now, on Confluence 5.8.18 it does not work anymore. I could not find any information on this on the release notes of Confluence, which is very bad :(


author: Carol Jones
body: We are also experiencing this issue since upgrading Confluence to 5.8.18 and need to find a way for at least one space within our Confluence instance to be able to be viewed through an iframe. Have either of you had any more luck with this?


author: Jens Kasperek (Bosch GmbH)
body: Hi Carol!

While we were able to resolve this on Conf 5.8.16 by adding a parameter to JAVA_OPTS on setenv.sh, we had to add this to CATALINA_OPTS on Conf 5.8.18. See:

```
#Click jacking protection disableCATALINA_OPTS="${CATALINA_OPTS} -Dconfluence.clickjacking.protection.disable=true"
```

So, if you add this to setenv.sh, iframes will work again!


author: Carol Jones
body: Thanks for your quick reply, extremely appreciated! This pointed me in exactly the direction I needed!

In case others need this, here's what I had to do since we are running on Windows using a Windows Service.

Open setting properties for Windows Services via Command Line (an example of how to do this is listed within the link below -- remember we are now using tomcat8 instead of 7 when entering the command):

<https://confluence.atlassian.com/jira/setting-properties-and-options-on-startup-120007.html#SettingPropertiesandOptionsonStartup-SettingPropertiesforWindowsServicesviaCommandLine>

Within the Java Options, add the below line:

```
-Dconfluence.clickjacking.protection.disable=true
```


author: Ajay Upadhyaya
body: An alternate (to Java Options), if you have a web server in front of Tomcat, you can remove these two headers. e.g. in Apache/mod_headers/mod_jk kind of setup to connect Apache to Tomcat add following

\<VirtualHost \*:80\>  
ServerName yourconfluence.yourdomain.com [](http://gillydemo.edubrite.com)  
JkMount /\* wconfl  
**Header unset X-Frame-Options**   
**Header unset Content-Security-Policy**   
\</VirtualHost\>

Header unset should work in other places as well in apache config file, I guess.


author: loxlay
body: Hi Ajay,  
can you please explain what exactly the line "JkMount /\* wconfl" is doing?  
So far as I know "wconfl" is a worker for tomcat, right?  
How is the file "workers.properties" defined, then?  
Thanks loxlay