整站HTTPS后的跨域请求 CORS是否还有效?

| 导语 

手Q马上就要全量https了,很多业务都有跨域ajax请求的需求,原来使用的CORS头在HTTPS环境中还继续能用吗?我搜遍了谷歌、百度,都没看到有明确的答案,那么就自己来尝试一下吧。

关于CORS在HTTPS环境下到底效果如何,一直没找到明确的答案。在MDN等网页只能看到CORS是解决HTTP跨域的方案,或者HTTP访问HTTPS/HTTPS访问HTTP都属于跨域范围,但没有人提到两个HTTPS站点能否通过CORS互相访问。那么,就自己动手吧。

首先,使用nodejs搭建一个https服务器。

而搭建https服务器前,我们需要先手工搞个证书。

具体可以使用openssl自行创建,我参考的是:https://cnodejs.org/topic/54745ac22804a0997d38b32d

然后代码跑起来

const https = require('https');
const fs = require('fs');

const options = {
    key: fs.readFileSync('./cert/ca-key.pem'),
    cert: fs.readFileSync('./cert/ca-cert.pem'),
    passphrase: '123456'
};

https.createServer(options, function (req, res) {
    res.writeHead(200);
    res.end(fs.readFileSync('./https.html'));
}).listen(443);

页面代码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    /* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */
    //这里省略10000字节的代码,自行补充吧
</script>

<script>
    $.get('//imgcache.qq.com/zzapp/health/js/config/qqhealth_score_strategy.json', function (ret) {
        console.log(ret);
    });
</script>
</body>
</html>

这次测试的域名是weather.mp.qq.com,ajax访问的域名是imgcache.qq.com,原来http时代,已经做好了cors授权了。

那么运行后,能看到打印的json信息,就表示正常访问。

好了,等了半天,估计大家只需要一个答案:OK,正常访问。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏石奈子的Java之路

原 荐 Java9 Module解惑

1814
来自专栏DeveWork

通过多说服务器缓存加速Gravatar 头像,解决被墙问题

由于大中华局域网的关系,Gravatar 头像所在的域名gravatar.com 及其二级域常常被墙,就算没有被墙,访问速度也非常慢。之前曾经分享过通过《Wor...

20010
来自专栏DeveWork

解决WordPress 打开Feed页面“This page contains the following errors…”的问题

趁着国庆假,今天解决了 Jeff的阳台 的Geekwork主题的几个bug。其中一个是打开feed页面(即http://www.jianhui.org/feed...

21810
来自专栏北京马哥教育

黑客们会用到哪些Python技术?

学Python最简单的方法是什么?推荐阅读:Python开发工程师成长魔法 Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验证工具都是用Pyt...

6828
来自专栏京东技术

IntelliJ插件开发-京东工程师教你改造你的IDE

王帅廷,京东 Android高级开发工程师,6年以上开发经验,对设计框架有着深刻的认识,负责京东商城研发工具的开发,设计并完成了多个IntelliJ插件的开发工...

1272
来自专栏编程

tornado全面剖析与实践系列1

猿助猿的技术栈是基于Tornado的, 在学习的过程中参考了很多文章, 但是内容大都碎片化, 缺少系统性讲解, 而且不少关于异步应用的内容还是基于过时的旧版本....

2789
来自专栏黄希彤的专栏

玩转云文件存储

千呼万唤始出来的 CFS 解决了集群服务的很多困扰多年的问题,实乃居家旅行,负载均衡、弹性伸缩之必备良药。

1.3K4
来自专栏北京马哥教育

马哥金牌分享 | 十五分钟实现Ansible常用模块入门

本文是马哥教育特约金牌讲师、Linux运维专家魏巍的分享《Anisble常用模块入门指南》的文字整理篇。 朋友们晚上好: 今天我为大家带来的分享是 Ansibl...

3645
来自专栏SDNLAB

ONOS编程系列(四)Provider开发

在学习本篇文章的时候,笔者假设读者已经读过该系列的前几篇文章,或者对于ONOS整个项目的架构有一定的了解,并且电脑上已经有onos-1.1的源程序,能熟练使用O...

3195
来自专栏后端之路

Jenkins指定nodejs和npm版本

背景 目前项目使用SpringBoot和Vue进行开发 免不了使用各种nodejs的代码 那么在做自动化的时候各种node和npm的版本也是相当复杂的。 在原先...

4089

扫码关注云+社区