我无法在生产环境中从外部 API 获取
I can't fetch from external API in production
我想获取一些信息,但是当我尝试使用 Nginx 将其实现到服务器 (Ubuntu 18.04) 时,我无法获取...
- 放置证书以启用到我的域的 HTTPS。
- 使用包含完整 url 到 API 的变量创建一个 .env(因为我在开发中使用代理)
- 将一些 headers 放入请愿书
- 尝试更改nginx中的配置
但什么都没有...我的应用程序只能在本地主机运行中运行
axios.get(process.env.REACT_APP_API_URL) ...
浏览器控制台(Safari):
Access-Control-Allow-Origin 不允许来源 https://mysubdomain.com。
由于访问控制检查,XMLHttpRequest 无法加载 https://mysubdomain.com。
无法加载资源:Access-Control-Allow-Origin 不允许来源 https://mysubdomain.com。
您的服务器需要 return 低于 header 值
Access-Control-Allow-Origin: *
这意味着任何人都可以连接到 API。
变通
转到 chrome 文件夹。
chrome.exe --user-data-dir="<Some directory name to store temporary chrome data>" --disable-web-security
我不是 nginx 方面的专家,但这行得通!
我在 /etc/nginx/sites-available/mysite 中编辑我的网站文件是这样的:
location /anyAppLocation/ {
proxy_method GET;
proxy_pass_request_headers on;
proxy_pass https://api.site.com;
proxy_redirect default;
}
我想获取一些信息,但是当我尝试使用 Nginx 将其实现到服务器 (Ubuntu 18.04) 时,我无法获取...
- 放置证书以启用到我的域的 HTTPS。
- 使用包含完整 url 到 API 的变量创建一个 .env(因为我在开发中使用代理)
- 将一些 headers 放入请愿书
- 尝试更改nginx中的配置
但什么都没有...我的应用程序只能在本地主机运行中运行
axios.get(process.env.REACT_APP_API_URL) ...
浏览器控制台(Safari):
Access-Control-Allow-Origin 不允许来源 https://mysubdomain.com。
由于访问控制检查,XMLHttpRequest 无法加载 https://mysubdomain.com。
无法加载资源:Access-Control-Allow-Origin 不允许来源 https://mysubdomain.com。
您的服务器需要 return 低于 header 值
Access-Control-Allow-Origin: *
这意味着任何人都可以连接到 API。
变通
转到 chrome 文件夹。
chrome.exe --user-data-dir="<Some directory name to store temporary chrome data>" --disable-web-security
我不是 nginx 方面的专家,但这行得通!
我在 /etc/nginx/sites-available/mysite 中编辑我的网站文件是这样的:
location /anyAppLocation/ {
proxy_method GET;
proxy_pass_request_headers on;
proxy_pass https://api.site.com;
proxy_redirect default;
}