从localhost访问服务器数据时出现CORS问题

时间:2018-04-30 00:59:26

标签: .htaccess cors request-headers

我想通过http请求从本地计算机访问远程服务器上的数据。我收到此错误:

   Cross-Origin Request Blocked ... Reason: CORS header ‘Access-Control-Allow-Origin’ does not match ‘[ip address].

本地机器是在localhost:4200上运行的角度项目,远程数据通过网络上的php脚本访问(例如https://example.com/php

我的问题是:我的请求来自localhost:4200(客户端/请求计算机)以及我服务器上的.htaccess文件的mod_headers部分(apache)中有哪些适当的标头设置。

在客户端,我尝试了以下操作,其中 111.111.111.111 是客户端的IP地址, example.com 是服务器的域名。

headers.append('Access-Control-Allow-Origin', 111.111.111.111);
headers.append('Access-Control-Allow-Origin', http://111.111.111.111);
headers.append('Access-Control-Allow-Origin', '*')
headers.append('Access-Control-Allow-Origin', 'example.com')
headers.append('Access-Control-Allow-Origin', 'http://example.com')

在服务器端.htaccess文件(位于我试图启动的php脚本文件夹中)我尝试了以下操作,其中111.111.111.111是发出请求的机器的IP地址。

Header always set Access-Control-Allow-Origin "111.111.111.111"
Header always set Access-Control-Allow-Origin "http://111.111.111.111"
Header always set Access-Control-Allow-Origin "*"

回顾:

  1. 是否需要在请求标头上设置 Access-Control-Allow-Origin ,如果是这样的话?客户端的IP地址?服务器的IP地址?

  2. 是否需要在请求中设置任何其他标头,例如 Access-Control-Request-Method

  3. 可以在服务器的.htaccess文件中使用IP地址,还是必须是域名?是否需要预先填写http://或https://?

0 个答案:

没有答案