咨询:React对接nopcommerce时HTTP接口无法请求的解决办法
NopCommerce HTTP转HTTPS请求问题解决办法
给React项目开启HTTPS开发服务
开发环境下直接让React运行在HTTPS协议上,就能匹配NopCommerce的请求要求:- 在项目根目录创建
.env.development文件,写入HTTPS=true - 执行
npm start启动项目,此时访问地址会变成https://localhost:3000 - 若需要自定义证书,可再添加
SSL_CRT_FILE和SSL_KEY_FILE配置,指定本地证书的路径
- 在项目根目录创建
配置反向代理转发请求
通过React的代理功能,把HTTP的API请求自动转发到HTTPS的NopCommerce接口:- 在
package.json中添加代理配置:"proxy": "https://你的NopCommerce域名.com" - 代码中请求API时直接使用相对路径,比如
fetch('/api/products'),React会自动将请求转发到对应的HTTPS地址
- 在
重新检查NopCommerce的SSL配置
之前禁用SSL未成功,可能是配置项没修改完整:- 登录NopCommerce后台,进入配置→设置→常规设置,找到SSL设置板块
- 将启用SSL、强制管理区域使用SSL、强制整个站点使用SSL这三个选项全部设置为关闭
- 保存设置后重启NopCommerce应用,清除浏览器缓存后再测试请求
开发环境临时绕过浏览器限制(仅本地测试用,禁止生产环境使用)
若只是本地调试,可临时让浏览器放宽HTTPS校验:- 在Chrome浏览器地址栏输入
chrome://flags/#allow-insecure-localhost,启用该选项 - 这样浏览器会忽略本地HTTPS证书的不安全提示,也能接受HTTP转HTTPS的请求转发
- 在Chrome浏览器地址栏输入
内容的提问来源于stack exchange,提问作者Erik Oberta
相关产品推荐
相关产品推荐

