Jump to content

Modify WebUI headers


Recommended Posts

Hi

 

I am trying to bed my Unraid WebUi as a tab in Home Assistant. This worked perfectly on my LAN with UnRaid version 6.9 but since upgrading to version 6.10 it seems like the web server now sets the x-frame-options header to 'sameorigin'. 

 

Is there a way I can update this?

 

Thanks in advance!

 

 

Link to comment
  • 4 months later...
  • 1 year later...

I've had this issue too. I'm using HomeAssistant LoveLace dashboard where I use iFrames for my other web interfaces.

 

For future reference:

- SSH to your Unraid server

- Open /etc/nginx/nginx.conf with vi or nano

- Go to the bottom to find add_header Content-Security-Policy "frame-ancestors 'self' https://connect.myunraid.net/"

- Edit to your liking (example): add_header Content-Security-Policy "frame-ancestors 'self' https://connect.myunraid.net/ https://ha.mydomain.net"

 

After editing you need to reload the web service of unraid:

/etc/rc.d/rc.nginx reload

 

 

Extra:

If you run a reverse proxy and/or 2FA service in your iframe you need to include these too. It is allowed to add IP addresses.

 

As an example:

add_header Content-Security-Policy "frame-ancestors 'self' https://connect.myunraid.net/ https://ha.mydomain.net 192.168.1.1 172.30.0.2"

 

Dropdown:

- Default: https://connect.myunraid.net/

- Where the iframe is used: https://ha.mydomain.net

- Reverse proxy: 192.168.1.1

- 2FA url 172.30.0.2

Edited by renedis1
Link to comment
  • 3 months later...

I have been struggling getting this to work to load unraid in an iframe in Organizr.  The instructions above was half the battle, the other half was to add the following in chrome:

 

Open: chrome://flags/#unsafely-treat-insecure-origin-as-secure and add https://tower.mydomain.com to the list of insecure sites to allow then change the setting to enable and relaunch chrome.  

 

I don't know why organizr is trying to load http instead of https but this at least allows things to work the way I need!

Edited by toyanucci
Link to comment
  • 2 weeks later...

I've made further progress and found we no longer need to set that chrome flag to get this to work. We just need to add https://organizr.yourdomain.com (url you use to access organizr outside of your network) to /etc/nginx/nginx.conf and in organizr we need to add https://tower.yourdomain.com/Dashboard as the tab url for unRAID and the iframe will work!

Link to comment
  • 4 months later...

my workaround is to do this in an array startup userscript

 

just replace `YOURDOMAINHERE` and you should be good

 

#!/bin/bash

# Path to the nginx.conf file
NGINX_CONF="/etc/nginx/nginx.conf"

# New Content-Security-Policy directive
NEW_CSP="add_header Content-Security-Policy \"frame-ancestors 'self' https://connect.myunraid.net/ https://*.YOURDOMAINHERE\";"

# Use sed to replace the line
sed -i.bak "/add_header Content-Security-Policy/c\\
$NEW_CSP
" $NGINX_CONF

# Restart Nginx to apply changes
nginx -s reload

echo "Content-Security-Policy directive updated and Nginx reloaded."


 

Edited by phyzical
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...