HTTPS 站点请求 HTTP的API 接口服务报错的问题

问题

线上部署一功能服务时,部署后使用postman调用接口测试正常,在线上系统中调用时出现接口无法请求通过的现象。

经排查发现,在console中出现了**This request has been blocked; the content must be served over https ;**的错误警告。

引发原因

线上系统为https站点,而部署的服务接口使用的是http请求。在线上系统请求服务接口引发了该错误,https站点无法访问http请求的错误;

HTTPS页面里动态的引入HTTP资源,比如引入一个js文件,会被直接block掉.在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉。

解决

方案一

将接口服务改造成使用https 的服务

方案二

采用nginx转发。将该服务接口使用nginx已经配置ssl的监听端口去进行转发操作,只需要配置一项反向代理即可实现。

此处使用了线上的443端口进行转发。

bash 复制代码
# HTTPS server
#   
server {
    listen       443 ssl;
    server_name  myhttps;
    root /opte/web;
     ssl_certificate      /opte/nginx/conf/FKWE.crt;
     ssl_certificate_key  /opte/nginx/conf/FKWE.key;
#    ssl_session_cache    shared:SSL:1m;
#    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on; 

    location / { 
        root   /opte/web;
        index  index.html index.htm index.php;
    }   
    location ~ \.php$ {
        #root           /opte/web/;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    } 

   # 证书登陆 
    location /jit/ {
        proxy_pass http://127.0.0.1:8083/jitsss/;
    }   

}   
相关推荐
深圳市宝华视联12 小时前
Python 读取 IP 视频流简单 Demo
python·嵌入式硬件·opencv·网络协议·tcp/ip·实时音视频·嵌入式实时数据库
DLYSB_13 小时前
让 PLC“开口说话”:基于 Modbus TCP 的声光语音告警设计与 Python 调试
python·网络协议·tcp/ip·报警灯
见山是山-见水是水16 小时前
围绕HTTP 网络请求实战构建原生体验:设计取舍、实现与排错
网络·网络协议·http·华为·harmonyos
火云牌神16 小时前
长连接与流式推送:规范 SSE / WebSocket 实现,替换无效轮询
websocket·网络协议·架构·ai编程·流式推送
见山是山-见水是水16 小时前
拆解网络缓存策略设计:原生鸿蒙页面的实现路径与调试方法
http·缓存·华为·harmonyos
拾光Ծ17 小时前
【Linux网络】HTTPS如何保证数据安全?从对称加密、非对称加密到 CA 证书认证
计算机网络·网络安全·https·tls·加密算法
影寂ldy17 小时前
Modbus-ASCII 协议 + LRC校验
笔记·网络协议·c#
左钦杨17 小时前
如何剩下一笔SSL(https)证书的钱?
网络协议·https·ssl
2501_9159184118 小时前
Rust 程序抓包解密,rustls 不认系统证书的几种办法
开发语言·后端·网络协议·ios·adb·https·rust
喜欢吃燃面18 小时前
网络协议与通信原理深度解析
网络·网络协议