JIRA出现Refused to display 'URL' in a frame because an ancestor violates the following Co错误

今天在Linux服务器配置安装好JIRA后,通过服务器IP地址加端口可以访问成功。

之后领导要求将服务器IP绑定到公司一个二级域名下。通过访问这个二级域名可以直接访问JIRA。

最开始的想法是修改JIRA访问端口,改为80端口,这样就可以直接访问。但80端口被占用了。之后选择将80端口流量转发给设定的8080端口,但是这样会导致服务器上其他软件访问80端口时肯定报错。

最后想到了通过配置域名解析隐形URL的方式,来配置二级域名。方式如下:
阿里云服务器如何解析添加二级域名

等过了几分钟后,重启JIRA,发现二级域名是绑定上了,但是二级域名页面上什么也没有。测试从IP+端口访问正常。我打开页面调试工具,发现报这样的错误:

**Refused to display 'URL' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".**

查了下,原来是JIRA为了防止点击劫持,添加X-Frame-Options和Content-Security-Policy安全报头到每个HTTP响应。标题会阻止将内容嵌入到iframe中。

这就导致了我们二级域名下,JIRA无法访问的原因。解决办法我找了很久,最容易找到的解决办法是这个:
JIRA中新增的的安全标头
但这种解决办法中配置太老了,JIRA 8.*以后的版本都无法配置。最后找到了这个办法:
JIRA中的安全标头

通过这个办法就可以解决上面的问题,你既可以禁用安全标头,也可以设定访问规则。

最后就可以通过二级域名访问JIRA了。

你可能感兴趣的:(工具)