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/;
    }   

}   
相关推荐
IpdataCloud1 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
GIoT80104 小时前
整段 C 段 IP 不能只看 Ping:一套实用的批量检测与分析思路
http
伤心的梧桐叶6 小时前
商品大图断点续传后打不开,先看是不是把完整响应又接了一遍
http·https
网络小江8 小时前
组网第33课:IP 地址与子网——CIDR、掩码、VLSM、网段规划与可用地址速算
网络协议·tcp/ip·子网掩码·vlsm·网络规划
山雀~8 小时前
WebSocket 断连之后:一次手机采集偶现卡死的排查与修复
网络·websocket·网络协议
码少女9 小时前
Linux——网络层-IP协议以及路由选择
linux·网络·网络协议·tcp/ip
dsadas10 小时前
ospf宣告网段的理解
网络协议
爱研究的小梁11 小时前
从无人车配送走向集群联动作业,通信如何扛住协同压力?
网络·网络协议·机器人·信息与通信
汤愈韬12 小时前
OSPF的虚链路
网络·网络协议
火22512 小时前
# C++ 微服务即时通讯系统(三):网关设计——HTTP 请求、Session 鉴权与 WebSocket 通知上一篇
c++·http·微服务