CORS Policy not working
Unsolved
Technical Support
-
I am trying to setup nodebb-plugin-fusionauth-oidc but I am getting the following error:
Access to fetch at 'https://DOMAIN/.well-known/openid-configuration' from origin 'https://DOMAIN2' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
I am using NGINX reverse proxy for SSL. I have tried this configuration in NGINX conf:
location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; #CORS if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain charset=UTF-8'; add_header 'Content-Length' 0; return 204; } if ($request_method = 'POST') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; } if ($request_method = 'GET') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; } }
as someone mentioned this wildcard works but I didn't in my case.
I tried adding * and DOMAIN inAccess-Control-Allow-Origin
in Settings > Advanced
but still receiving the same CORS error.I am running NodeBB v1.19.8.
-
@Ankesh-Anand setting ACAO to "*" is pretty dangerous, so we don't allow that to be set in the ACP (we ignore the setting if it's set to the wildcard). Nginx should be able to override that, but I don't think you need to.
Which domain is your site? DOMAIN or DOMAIN2? The ACAO header needs to be set on DOMAIN, not DOMAIN2.
Copyright © 2024 NodeBB | Contributors