wang_peng 2024-07-16 08:16 采纳率: 0%
浏览 2
已结题

vue发布后无法访问局域网接口

今天把vue3发布到了iis上,
vue3中用axios访问服务接口,
出现的问题就是,
如果axios访问的接口地址是局域网的ip,
访问vue3只能用局域网ip,此时如果用域名访问服务接口,访问超时,其实就是无法访问

所以现在只能用买了个域名,用在服务接口上,然后axios去访问域名
这是为什么

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-16 08:16
    关注

    引自免费微信小程序:皆我百晓生

    这是一个关于Vue应用程序部署在IIS上后,如何通过接口访问局域网IP的问题。根据你描述的情况,似乎存在一些配置或网络设置的问题。下面是一些建议和可能的解决方案:

    1. 跨域问题

    当Vue应用程序部署在IIS上并通过域名访问时,浏览器可能会因为跨域安全策略阻止从域名访问局域网接口。你需要确保你的后端服务设置了正确的CORS(跨源资源共享)策略来允许你的域名进行访问。

    2. IIS配置

    确保IIS配置正确,特别是关于反向代理和URL重定向的设置。如果你使用了反向代理来转发请求,确保配置正确并且没有阻止对局域网接口的访问。

    3. 局域网IP和公网IP

    如果你的Vue应用部署在公网上,并且尝试通过公网访问内网资源,可能存在路由或端口转发的问题。请确保你的网络设置正确,允许从公网IP访问到内网的接口。另外,检查防火墙设置,确保没有阻止相关的请求。

    解决方案步骤

    步骤一:检查CORS设置

    确保你的后端服务设置了正确的CORS策略,允许你的域名进行访问。你可以在后端代码中添加相应的CORS头信息,或者在IIS上配置CORS规则。

    步骤二:检查IIS配置和网络设置

    检查IIS的配置和网络设置,确保反向代理和URL重定向等配置正确无误。同时,检查网络防火墙设置,确保没有阻止相关的请求。

    步骤三:使用域名访问接口

    如果你已经购买了域名并且将其用于服务接口,确保正确配置了DNS和路由设置,以便通过域名访问接口。同时,确保Vue应用程序中的axios请求使用了正确的域名。

    步骤四:测试局域网内的访问

    在局域网内进行测试,确保可以直接通过局域网IP访问后端接口。如果可以访问,那么问题可能出在公网访问上。在这种情况下,进一步检查和配置公网的网络设置和防火墙规则。

    示例代码(非直接解决方案)

    由于这个问题主要是配置和网络设置的问题,不涉及具体的代码修改,所以没有具体的代码示例。但是根据上述步骤进行检查和配置可能会有所帮助。

    总结和建议

    这个问题可能是由于跨域问题、IIS配置问题或网络设置问题导致的。你可以按照上述步骤进行检查和配置,并确保所有设置正确无误。如果问题仍然存在,可能需要进一步调查网络环境和服务器设置。希望这些建议对你有所帮助!

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月26日
  • 创建了问题 7月16日

悬赏问题

  • ¥15 数据量少可以用MK趋势分析吗
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中