nginx - 允许 api.glossgenius.com 的 CORS
问题描述
我需要帮助,我不确定如何使来自“api.glossgenius.com”的 API 响应正常工作以使网站的元素正常工作。
https://studio21md.com/portfolio
跨域请求被阻止:同源策略不允许在https://api.glossgenius.com/v3/web/portfolio_images?slug=meganhammett读取远程资源。(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。
跨域请求被阻止:同源策略不允许在https://api.glossgenius.com/v3/web/portfolio_images?slug=meganhammett读取远程资源。(原因:CORS 请求未成功)。
谁能协助 Nginx 我将如何解决这个特定问题?
这是我的配置,谢谢你的帮助。
server {
listen 80;
server_name www.studio21md.com studio21md.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass https://meganhammett.glossgenius.com;
}
解决方案
请在 nginx 中使用此配置。
server {
listen 80;
server_name www.studio21md.com studio21md.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
add_header 'Access-Control-Allow-Origin' 'https://api.glossgenius.com';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' 'https://api.glossgenius.com';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
proxy_pass https://meganhammett.glossgenius.com;
proxy_redirect off;
proxy_set_header host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-forward-for $proxy_add_x_forwarded_for;
}
}
推荐阅读
- html - Prerender.io 与 Angular Universal - 不在组件标签内呈现 HTML
- azure-devops - 板中功能的优先级
- android - 如何在 Kotlin 中管理资源?试图让 setUp 函数只运行一次,而不是在每次测试之前
- linear-regression - 为什么这个答案不正确?
- powershell - 通过批处理/powershell脚本访问dll api
- angular - 如何执行顺序服务调用?
- sql - 将行转入 Googlesql 列
- python - XML 中缺少包装器
- java - 我们如何为 Java 项目的 pom.xml 中定义的特定依赖项设置/修改名称?
- keycloak - keycloak,用户注册。如何添加角色?