問題描述:
A地址的客戶端(https)訪問B地址(https)的服務端,就屬於跨域請求資源,由於是PHP服務,由apache作為web服務器啟動的B,需要在apache的https配置中,加上允許跨域的配置,如下:
Header set Access-Control-Allow-Origin "http://XXX.com"
Header set Access-Control-Allow-Credentials "true"
按照上述配置后,訪問仍有異常,A訪問B是OK的,B也響應了,但是我們可以看到響應頭的地址是http開頭的
原因分析:
https站點中是不允許訪問Http服務的,所以A請求B成功,但是B的跨域配置中,配置了允許跨域的地址為http://xxxx,這就導致了整個https請求不完整,是失敗的。
解決辦法:
修改B的跨域配置,將Http調整為https即可。