当前位置: 首页 > news >正文

微信小程序配置访问服务器失败所发现的问题及解决方案

目录

  • 事前现象
    • 问题1:
      • 问题现象:
      • 问题分析:
    • 问题2:
      • 问题现象:
      • 问题分析:
      • 解决方案:
  • 事后现象

事前现象

问题1:

问题现象:

在本地调试时,一切顺利,但一旦部署到服务器上,访问出现了问题,问题现象如下:

  1. 在本地debug调试访问的时候一切正常,但是发布到服务器上之后,在进行访问就出现问题,提示后台接口连接不到;
    在这里插入图片描述
  2. 后端提示接口异常
    在这里插入图片描述

问题分析:

微信开发者 在尝试连接后台服务器时遇到问题,但通过Web浏览器访问 是正常的,通常意味着开发环境或微信开发工具本身遇到了一些特定的问题。
下有几个可能的原因和解决方法:

  1. 网络配置问题

    • 检查开发电脑的网络设置,确保没有被防火墙或代理阻止。
    • 确认开发工具中使用的服务器地址和端口是否正确。
  2. 微信开发者工具设置

    • 在微信开发者工具中检查是否有相关的网络设置选项,比如是否启用了调试模式或者使用了代理等。
    • 尝试清除缓存或重启微信开发者工具。
    • 见4. 跨域问题:request合法域名。
  3. HTTPS 证书问题

    • 如果服务器使用的是自签名证书或者非正规渠道颁发的证书,可能会导致连接失败。请确认服务器使用的是有效的 SSL/TLS 证书。
  4. 跨域问题

    • 微信小程序有严格的跨域策略,需要在微信公众平台的后台设置允许的域名列表。
    • 在服务器域名设置 request合法域名。
    • 检查微信公众平台的“开发”->“开发设置”中的合法域名设置是否包含了你的服务器域名。
  5. 代码错误

    • 查看开发者工具中的控制台输出,看看是否有任何错误信息提示。
    • 检查请求路径、参数、请求头等是否符合后端API的要求。
  6. 服务端问题

    • 联系服务器管理员,确认服务器端是否有对特定来源的访问限制。
    • 确认服务器端的日志,查看是否有相关错误记录。
  7. 微信官方问题

    • 有时候可能是微信服务器端出现了暂时性的问题,可以等待一段时间再次尝试,或者关注微信官方公告。

问题2:

问题现象:

  • 图示内容同上图一致,起初怀疑是问题未解决,后来发现是另外的问题;
  • 控制台打log提示内容返回值有问题,怀疑也是相关配置问题

问题分析:

客户端应用中使用域名 https://www.*.*:*/** 能够成功访问,但是使用 IP 地址 https://*.*.*.*:*/** 时遇到问题,这通常是由以下几个原因造成的:

  1. 域名解析

    • 当使用域名时,客户端首先通过 DNS 解析获取服务器的 IP 地址,然后与该 IP 地址建立连接。
    • 当使用 IP 地址时,客户端直接尝试与该 IP 地址建立连接。
  2. Nginx 或反向代理配置

    • 如果服务器使用 Nginx 或其他反向代理软件,通常配置为根据域名来识别不同的服务或应用程序。
    • Nginx 可能配置了基于域名的虚拟主机(server blocks),这意味着它需要通过域名来确定请求应该路由到哪个后端服务。
    • 如果使用 IP 地址,Nginx 可能无法正确识别请求,因为它缺少了必要的上下文信息(即域名)来确定请求的目的地。
  3. SSL/TLS 证书问题

    • 如果服务器使用了 SSL/TLS 证书来提供 HTTPS 加密连接,证书通常绑定到特定的域名,而不是 IP 地址。
    • 当使用 IP 地址时,客户端可能无法验证证书的合法性,从而导致连接失败或出现安全警告。
  4. 防火墙或安全组规则

    • 服务器的安全设置(如防火墙或安全组规则)可能仅允许通过域名访问,而不允许通过 IP 地址访问。
  5. 端口开放问题

    • 服务器的防火墙或安全组规则可能仅允许特定端口通过域名访问,而不是 IP 地址。

解决方案:

  1. 检查 Nginx 配置

    • 确认 Nginx 的配置文件中是否有关于域名 的 server block,并检查该 block 中是否有 listen 指令指定了端口。
    • 如果 Nginx 配置中没有针对 IP 地址的特定规则,那么可能需要在请求中使用域名以确保正确的路由。
  2. SSL/TLS 证书

    • 如果服务器使用 SSL/TLS 证书,确认证书是否绑定了正确的域名,并且客户端能够验证该证书。
  3. 防火墙或安全组规则

    • 检查服务器的防火墙或安全组设置,确保端口 对域名 是否正常 开放。
  4. 测试连接

    • 使用命令行工具如 curl 测试使用域名和 IP 地址时的连接情况,以确定问题所在:
      curl -I https://www.*.*:*/**
      curl -I https://*.*.*.*:*/**
      
  5. Nginx 日志

    • 查看 Nginx 的访问日志和错误日志,以获取更多关于请求处理的信息。
  6. 代码审查

    • 确认客户端代码中是否正确构造了请求,并且请求头中包含必要的信息,如 Host 标头。

事后现象

经过上述分析以及内容排查,最终可以正常访问
在这里插入图片描述
在这里插入图片描述

相关文章:

微信小程序配置访问服务器失败所发现的问题及解决方案

目录 事前现象问题1:问题现象:问题分析: 问题2:问题现象:问题分析:解决方案: 事后现象 事前现象 问题1: 问题现象: 在本地调试时,一切顺利,但一…...

javaEE(1)

一. Web开发概述 Web开发:指的是从网页中向后端程序发送请求,与后端程序进行交互 Web服务器:是一种软件,向浏览器等Web客户端提供文档等数据,实现数据共享,它是一个容器,是一个连接用户和程序之间的中间键 二. Web开发环境搭建 我们要实现前后端交互,首先需要中间键Web服务…...

极简Springboot+Mybatis-Plus+Vue零基础萌新都看得懂的分页查询(富含前后端项目案例)

目录 springboot配置相关 依赖配置 yaml配置 MySQL创建与使用 (可拿软件包项目系统) 创建数据库 创建数据表 mybatis-plus相关 Mapper配置 ​编辑 启动类放MapperScan 启动类中配置 添加config配置文件 Springboot编码 实体类 mapperc(Dao…...

IPython的Bash之舞:%%bash命令全解析

IPython的Bash之舞:%%bash命令全解析 IPython的%%bash魔术命令为Jupyter Notebook用户提供了一种在单元格中直接执行Bash脚本的能力。这个特性特别适用于需要在Notebook中运行系统命令或Bash特定功能的场景。本文将详细介绍如何在IPython中使用%%bash命令&#xff…...

ST Stellar-E SR5E1 22KW OBC combo 3KW DC-DC汽车充电器解决方案

对于全球的环境保护意识抬头,全球的汽车产业慢慢步入电动化的时代,以减少碳排放。整车系统主要是由电池、电驱、电控的三电所构成,其中电池系统是整车的动力来源,而对电池充电的OBC系统更甚重要。一具高度安全性且高效的OBC系统&a…...

Postman中的A/B测试实践:优化API性能的科学方法

Postman中的A/B测试实践:优化API性能的科学方法 在API开发和测试过程中,A/B测试是一种验证新功能或变更效果的有效方法。通过比较两个或多个版本(例如A版本和B版本)的性能,可以科学地评估变更的影响。Postman作为API测…...

微信小程序支付流程

前端需要做的事情: 生成平台订单:前端调用接口,向后端传递购买的商品信息、收货人信息,(后端生成平台订单,返回订单编号)获取预付单信息:将订单编号发送给后端后,&#x…...

Istio 学习笔记

Istio 学习笔记 作者:王珂 邮箱:49186456qq.com 文章目录 Istio 学习笔记[TOC] 前言一、基本概念1.1 Istio定义 二、Istio的安装2.1 通过Istioctl安装2.2 通过Helm安装 三、Istio组件3.1 Gateway3.2 VirtulService3.2.1 route详解3.2.2 match详解3.2.3…...

测试面试宝典(三十三)—— 接口测试有没有测试出什么问题?

在之前的接口测试工作中,确实发现了一些问题。比如,在对某关键业务接口进行测试时,发现当输入的参数值超出正常范围时,接口没有按照预期返回错误提示,而是出现了系统崩溃的情况。 还有一次,在测试一个数据…...

YOLOV8模型转TFJS 在Mac下遇到的版本的坑

1.目的:将训练好的yolov8模型转化成TFJS格式,用于在浏览器中通过tensorflow调用; 遇到问题: A KerasTensor cannot be used as input to a TensorFlow function. 本地环境: python :3.11 自动安装的版本为&#xf…...

vue、react前端框架实现TodoList页面案例

原始TodoList网页(主要就是链接里网页应用ndex.html、styles.css、script.js ): https://blog.csdn.net/weixin_42357472/article/details/140657576 node、npn安装参考: https://blog.csdn.net/weixin_42357472/article/details/…...

el-date-picker 时间控件校验选择时间必须早于当前时间(带时分秒)

el-date-picker 时间控件校验选择时间必须遭早于当前时间(带时分秒),然后监控时间控件,当时间改变的时候,如果不是当天,那时间可以选择全天也就是00-24时,如果是当天,就是当前时间之…...

godot新建项目及设置外部编辑器为vscode

一、新建项目 初次打开界面如下所示,点击取消按钮先关闭掉默认弹出的框 点击①新建弹出中间的弹窗②中填入项目的名称 ③中设置项目的存储路径,点击箭头所指浏览按钮,会弹出如下所示窗口 根据图中所示可以选择或新建自己的游戏存储路径&…...

vue中无法调试

vue.config.js中增加 devtool configureWebpack: {name: name,resolve: {alias: {: resolve(src)}},devtool: "cheap-module-source-map" // add},然后重启即可。 顺便招聘:1.需要会日语。2.Java,JS,Vue,DB任一会者皆…...

python机器学习8--自然语言处理(2)

1.移除用词 在很多情况下,有一些文章内的英文字符、标点符号分词的结果不符合自己的预期,会出现一些不想要的分词,此时就能通过以下的函数自己设定用词,并且删除。 jieba.analyse.set_stop_words("stop_words.tx…...

LinkedList底层原理

节点(Node)结构 LinkedList 的核心是一个内部类 Node,每个 Node 对象代表链表中的一个元素,并且每个节点包含三个部分: 元素值 (item):存储实际的数据。前驱节点引用 (prev):指向当前节点前面…...

CSS技巧专栏:一日一例 11 -纯CSS实现多彩渐变按钮系列特效

CSS技巧专栏:一日一例 11 -纯CSS实现多彩渐变按钮系列特效 本篇,推荐给你几个按钮,先看一下图片 本例图片 案例分析 这是一个系列的按钮,它们具有共同的特点: 底层按钮层,具有一个彩色的渐变边框,上层是依据hover效果需要,可以是渐变,可以时白色。 鼠标hover效果…...

基于微信小程序+SpringBoot+Vue的自助点餐系统(带1w+文档)

基于微信小程序SpringBootVue的自助点餐系统(带1w文档) 基于微信小程序SpringBootVue的自助点餐系统(带1w文档) 基于微信小程序的自助点餐系统前后台分离,让商品订单,用户反馈信息,商品信息等相关信息集中在后台让管理员管理,让用…...

04-Charles中的Map Remote和Map Local介绍

Charles提供了Map Remote和Map Local两个功能。 Map Remote是将指定的网络请求重定向到另一个网址。Map Local是将指定的网络请求重定向到本地文件。 一、Map Remote 假设代码中调用了接口A,但是接口A的响应结果不能满足需求;此时,有另一个…...

R语言优雅的进行广义可加模型泊松回归分析

泊松回归(Poisson regression)是以结局变量为计数结果时的一种回归分析。泊松回归在我们的生活中应用非常广泛,例如:1分钟内过马路人数,1天内火车站的旅客流动数,1天内的银行取钱人数,一周内的销…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...