第27章 uView 内置路由使用注意事项

news2024/12/23 22:52:09

1 uView 内置路由不支持通过“localhost”域名直接获取数据。

    在前后分离开发中“axios” 路由支持使用“localhost”域名或IP地址获取后端的数据,所以不管是IIS部署还是后端调试通过“axios” 路由都能获取数据,对于.NetCore的前后端分离开发来说“axios” 路由是最好的选择。但在移动开发中经常使用“uView”前端模版,“uView”前端模版中内置了自己的路由,但是“uView”内置路由不选择支持使用“localhost”域名,不管该“localhost”域名是由IIS提供还是“.NetCore”提供,如果使用“localhost”域名将会出现以下现象(<noscript><strong>本站点必须要开启JavaScript才能运行</strong></noscript>)

async onLoad() {

            console.log("可用域名示例:", await this.$u.get(

                'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata'));

            console.log("IIS--HTTP--localhost--不可用域名示例:", await this.$u.get(

                'http://localhost:8080/WeatherForecast/Get'));

            console.log("IIS--HTTP: 127.0.0.1:8080--可用域名示例:", await this.$u.get(

                'http://127.0.0.1:8080/WeatherForecast/Get')); //注意必须包含“8080”端口。

            console.log("IIS--HTTP: 192.168.1.100:8080--可用域名示例:", await this.$u.get(

                'http://127.0.0.1:8080/WeatherForecast/Get')); //注意必须包含“8080”端口。

        },

2 uView 内置路由与IIS HTTPS

    .Netcore 第一次使用IIS Express或https 调试Web/WepApi程序时会使用“IIS Express Development Certificate”SSL证书对“localhost”域名进行安全认证,所以不管IIS HTTPS或.Netcore 第一次使用IIS Express或https调用“localhost”域名时都是安全的例如:

而本机IP:127.0.0.1(IPV4)/192.168.2.230(IPV4)/::1(IPV6)是特殊的IP地址,“IIS Express Development Certificate”SSL证书是不能对其进行安全认证的例如:

    通过上面这些图可以直接看出本机IP:127.0.0.1(IPV4)/192.168.2.230(IPV4)/::1(IPV6)是不安全的,也可以得到“IIS Express Development Certificate”SSL证书只对“localhost”域名进行安全认证,而不能对本机IP:127.0.0.1(IPV4)/192.168.2.230(IPV4)/::1(IPV6)进行安全认证,uView”内置路由要获取基于IIS HTTPS数据源时,如果该数据源没有通过SSL证书进行安全认证,那么是不会获取数据的:“[Vue warn]: Error in onLoad hook (Promise/async): "[object Object]"”

3 通过mkcert生成SSL证书对本机IP进行安全认证

3.1 下载mkcert

Releases · FiloSottile/mkcert (github.com)

3.2 使用mkcert生成本机IP SSL证书

3.2.1 查看

    1、 按“Windows键+R”调出运行框,输入certmgr.msc命令。打开证书控制台。

2、C:\Users\Administrator\AppData\Local\mkcert(错误命令)

3.2.2 运行mkcert


    1、执行命令:C:\Users\Administrator\Downloads\mkcert-v1.4.4-windows-amd64.exe -install

查看:

2、C:\Users\Administrator\AppData\Local\mkcert(正确命令)

3、执行命令:C:\Users\Administrator\Downloads>mkcert-v1.4.4-windows-amd64.exe 127.0.0.1 ::1 192.168.1.100 localhost

4、执行命令:C:\Users\Administrator\Downloads>mkcert-v1.4.4-windows-amd64.exe -pkcs12 127.0.0.1 ::1 192.168.1.100 localhost

5、执行命令:C:\Users\Administrator\Downloads>mkcert-v1.4.4-windows-amd64.exe -client 127.0.0.1 ::1 192.168.1.100 localhost

6、执行命令:C:\Users\Administrator\Downloads>mkcert-v1.4.4-windows-amd64.exe -pkcs12 -client 127.0.0.1 ::1 192.168.1.100 localhost

4 安装本机SSL证书

4.1 安装IIS服务器证书

密码:changeit

4.2 安装客户端SSL证书

    1、单击127.0.0.1+3-client.p12


   

2、验证使用“mkcert”生成的本机SSL证书是否已经对本机IP进行了认证

  console.log("IIS--HTTPS: 127.0.0.1--可用域名示例:", await this.$u.get(

                'https://127.0.0.1/WeatherForecast/Get')); //注意不能包含“443”端口。

            console.log("IIS--HTTPS: 192.168.1.100--可用域名示例:", await this.$u.get(

                'https://192.168.1.100/WeatherForecast/Get')); //注意不能包含“443”端口。

    这时 uView 内置路由就可能通过IIS HTTPS协议获取服务器端数据了。

5 Program.cs

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle

builder.Services.AddEndpointsApiExplorer();

builder.Services.AddSwaggerGen();

var app = builder.Build();

//注意:在IIS部署时如果不定义该自定义管道中间件“http://localhost:8080”页面会出现“404”错误,但“http://localhost:8080/Swagger/index.html”页面可用;

//“SwaggerHomeMiddleware”管道中间件的直接实现调用。

app.Use(async (context, next) =>

{

    if (context.Request.Path == "/")

    {

        context.Response.Redirect("/Swagger/index.html");

        return;

    }

    await next.Invoke();

});

app.UseSwagger();

app.UseSwaggerUI();

app.UseHttpsRedirection();

app.UseAuthorization();

//如果想要前端路由获取后端数据,.Net(Core)x框架所定义的后端必须先引入跨域管道定义,否则前端路由将不能获取后端数据。

app.UseCors(x => x

    .SetIsOriginAllowed((host) => true)//设置指定的isOriginAllowed为基础策略。

    .AllowAnyOrigin()//允许所有来源的CORS请求和任何请求协议(HTTPHTTPS)AllowAnyOrigin不安全,因为任何网站都可以向应用程序发出跨域请求。

    .AllowAnyMethod()//确保策略允许任何方法。

    .AllowAnyHeader()); //确保策略允许任何标头。

app.MapControllers();

app.Run();

对以上功能更为具体实现和注释见:230627_028WebApi(uView 内置路由获取IIS http或https数据测试)

230627_001uView_default(uView 内置路由获取IIS http或https数据测试)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【proxychains4】虚拟机内kali走主机代理

文章目录 简介安装配置使用测试 简介 ProxyChains是Linux和其他Unix下的代理工具。 它可以使任何程序通过代理上网&#xff0c; 允许TCP和DNS通过代理隧道&#xff0c; 支持HTTP、 SOCKS4和SOCKS5类型的代理服务器&#xff0c; 并且可配置多个代理。 ProxyChains通过一个用户定…

数据结构--单链表的定义

数据结构–单链表的定义 本节的学习目标&#xff1a; 单链表的定义&#xff08;如何用代码实现&#xff09; 优点:不要求大片连续空间&#xff0c;改变容量方便 缺点:不可随机存取&#xff0c;要耗费一定空间存放指针 代码实现 struct LNode {ElemType data; //数据域stru…

vcruntime140.dll,丢失如何修复,vcruntime140.dll,丢失修复详细办法(有效的方法)

今天打开photoshop软件的时候&#xff0c;突然间就打不开&#xff0c;电脑报错由于找不到vcruntime140.dll&#xff0c;无法继续执行此代码&#xff0c;然后我就把photoshop卸载了&#xff0c;再重新安装&#xff0c;依然还是报错。这个可怎么办&#xff1f;vcruntime140.dll如…

C++【day1】

练习 定义一个命名空间Myspace&#xff0c;包含以下函数&#xff1a;将一个字符串中的所有单词进行反转&#xff0c;并输出反转后的结果。 #include <iostream> #include<iomanip>using namespace std;namespace Myspace { void reversal(string *str); }void My…

CW32L083不同主频功耗测试

本文主要介绍CWL083VCT6芯片在不同主频下的功耗测试方法和测试结果。 1.HSIOSC时钟 HSIOSC 时钟由内部 RC 振荡器产生&#xff0c;不需要外部电路&#xff0c;比 HSE 时钟的成本低&#xff0c;启动速度快。HSIOSC 时钟频率固定为 48MHz&#xff0c;频率精度低于 HSE 时钟。RC …

《计算机系统与网络安全》 第二章 计算机网络基础与TCPIP协议安全性

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

苹果app用发布证书打包后怎么装手机测试

一、背景 iOS 的开发证书打包后可以通过爱思助手安装到手机上测试&#xff0c;但发布 (Production) 证书是不允许安装在手机上的。而在实际开发过程中&#xff0c;尽管通过开发证书测试过了&#xff0c;iOS生产包仍然可能会出现一些问题&#xff0c;需对生产包也进行测试。 而…

【Stable diffusion教程】AutoDL云部署超详细步骤说明【外婆都会】

1 AutoDL云端部署操作流程 1.1 登录/注册 官网&#xff1a;https://www.autodl.com/home&#xff0c;点击右上角登录/注册。此处我已经注册了 如果你是学生的话&#xff0c;注册完之后&#xff0c;进入控制台&#xff0c;在右上角点一下学生认证&#xff0c;然后你就可以享受…

23.6.24

1、grep&#xff1a;查找字符串 grep 字符串 文件名 -w:按单词查找 -R:实现递归查找&#xff0c;主要用于路径是目录的情况 -i:不区分大小写 -n:显示行号 grep -w "^ubuntu" /etc/passwd ---->查找以ubuntu单词作为开头位置的所在行 grep -w "ubuntu$"…

html简单实现b站评论回车发布

头像&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wi…

Linux系统:进程概念

文章目录 1 操作系统1.1 概念1.2设计操作系统的目的 2进程2.1 进程是什么2.2 如何管理进程2.2查看进程2.3 程序中获取自己的pid2.4 创建一个进程2.5 进程状态2.6 进程优先级2.6.1为什么要有优先级2.6.2 什么是优先级2.6.3 linux下优先级的做法 2.8 其他概念 3进程地址空间3.1 初…

基于Docker环境下的Jenkins搭建及使用

目录 前言&#xff1a; Docker下安装Jenkins 启动Jenkins Jenkins插件下载 配置Jenkins 修改Jenkins时间 配置Python3环境 配置HTML报告/Allure报告 Allure报告配置 简单使用-实例构建 参数化构建 构建后操作 配置成功 控制台输出 Allure报告查看 HTML报告查看 前言&#xff1a…

macOS上下载安装Kibana并连接ES

下载Kibana 执行以下命令进行&#xff0c;版本号根据你所用的ES版本选择&#xff0c;比如我的是7.10.0 curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.10.0-darwin-x86_64.tar.gz解压安装Kibana tar -zxvf kibana-7.10.0-darwin-x86_64.tar.gz进行config…

Visual modflow Flex地下水数值模拟

专题一 地下水数值软件的操作流程、建模步骤和所需资料处理及相关注意事项 [1] Visual MODFLOW Flex特征 [2] Visual MODFLOW Flex软件界面及模块 [3] 地下水数值模拟的建模步骤及数据需求 专题二 模型建模操作方法 技巧、真实案例演练、特殊问题处理 [1] 直接模型建模的操…

【信号】信号处理与进程通信:快速上手

目录 0. 信号概述 1. 产生信号的方式&#xff1a; 1.1 当用户按某些终端键时&#xff0c;将产生信号。 1.2 硬件异常将产生信号。 1.3 软件异常将产生信号。 1.4 调用kill函数将发送信号。 1.5 运行kill命令将发送信号。 2. 信号的默认&#xff08;缺省&#xff09;处理…

用for循环----输出0-999的水仙数

输出0-999的水仙数 水仙算法&#xff1a;一个数它各位的立方和&#xff0c; 例如&#xff1a;1531*1*15*5*53*3*3 提示&#xff1a;for循环&#xff0c;求余数(%)取整&#xff08;/&#xff09;运算符。 答案&#xff1a; 代码如下&#xff1a; #include <stdio.h> …

物理备份xtrabackup

物理备份xtrabackup Xtrabackup 是一个开源的免费的热备工具&#xff0c;在 Xtrabackup 包中主要有 Xtrabackup 和innobackupex 两个工具。其中Xtrabackup 只能备份 InnoDB 和 XtraDB 两种引擎; innobackupex则是封装了Xtrabackup&#xff0c;同时增加了备份MyISAM引擎的功能。…

STM32开发——智能小车(循迹、避障、测速)

目录 1.循迹小车 1.1CubeMX配置 1.2函数代码 2.避障小车 3.小车测速 1.循迹小车 需求&#xff1a;用左右轮实现PWM调速、红外传感器获取道路信息改变方向。 左边红外D0——PB12 右边红外D0——PB13 1.1CubeMX配置 1.2函数代码 motor.c代码 #include "gpio.h"…

TCP三挥四握

TCP三挥四握 TCP最关键的三个步骤&#xff1a;建立连接、数据传输、释放连接&#xff0c;这里的三次握手实现的是服务端和客户端建立连接&#xff1b;四次握手实现的是服务端和客户端释放连接。 三次握手&#xff1a; 建立数据连接 TCP连接需要三次握手的原因&#xff1a; 三次…

【Free】基于主从博弈的主动配电网阻塞管理

目录 1 主要内容 程序亮点 2 部分代码 3 程序结果 4 下载链接 1 主要内容 《基于主从博弈的主动配电网阻塞管理》文献介绍&#xff1a;主要采用一种配电网节点边际电价统一出清的主从博弈双层调度框架。上层框架解决用户在负荷聚合商引导下的用电成本最小化问题&#xff0…