【发布时间】:2019-01-19 11:55:32
【问题描述】:
我正在向 NGINX 发出 POST 请求,但收到 CORS 错误:
无法加载https://knode.work/save.php:对预检的响应 请求未通过访问控制检查:否 'Access-Control-Allow-Origin' 标头出现在 请求的资源。原点'https://www.knode.io' 因此不允许访问。
在 NGINX 上,我在 /etc/nginx/sites-available/default 中有这个:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
add_header "Access-Control-Allow-Origin" *;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
add_header "Access-Control-Allow-Origin" *;
}
更多信息:
我已经更新了 NGINX 配置文件。请通过https://gist.github.com/jxxcarlson/c17f9d89e06f5804170a0e44236b9d9a查看要点
NGINX 未发回 Access-Control-Allow-Origin 标头:http://noteimages.s3.amazonaws.com/uploads/Screenshot%202018-08-13%2008.38.52.png
【问题讨论】:
-
你确定调用在封闭的服务器块上匹配吗?很高兴看到您的其余配置,如果您可以分享的话。
-
这很可能是错误的——我是新手。这是
/etc/nginx/sites-available/default的要点:gist.github.com/jxxcarlson/c17f9d89e06f5804170a0e44236b9d9a 非常感谢您查看此内容! -
我已经更新了
nginx配置以及上一条评论中的要点。还是没有变化。我认为问题是特定于对 *.php 文件的请求。网上对此有一些讨论,但到目前为止我还没有找到好的答案。 -
sites-available/default— 是用于 knode.work 还是 www.knode.io? -
那是 knode.work -- 带有 PHP 的 NGINX 服务器