分类:
IdentityServer4教程
◆
标签:
#认证
#授权
#Identity Server
#Asp.Net core基础
#OpenId Connect
#OAuth2
◆
发布于: 2023-05-27 22:33:06
本节我们介绍一下相关的专业术语。
术语图示
IdentityServer (标识服务)
IdentityServer(标识服务)是一个OpenId Connect服务提供者,它是一个实现了OpenId Connect和OAuth2.0的服务器,当然这个服务器运行相关的代码。
有很多文章或者其他的书籍媒体使用了很多不同的名字,例如Token服务器,标识提供者,授权服务器等等,实际上它们都指的是同一个东西,其内核的功能都是由软件实现的向客户端提供token的服务。
IdentityServer需要完成的工作可以由下述列表体现:
保护你的资源
使用本地账户或者外部账户向需要访问应用的用户提供认证。
提供会话管理和单点登录的功能。
管理和认证客户端应用。
分发
Read more
分类:
IdentityServer4教程
◆
标签:
#Asp.Net core基础
#认证
#授权
#Identity Server
#OpenId Connect
#OAuth2
◆
发布于: 2023-05-27 22:29:19
目前大多数现代的应用程序架构图如下
(借用IdentityServer4官网的图解释一下)
架构图
一般的交互过程可以通过如下的列表进行描述
用户浏览器和web应用进行交互。
Web应用和Web API进行交互。
基于浏览器的应用和Web API进行交互(例如:SPAs应用)
本地桌面应用和Web API进行交互
f服务端的应用和web api进行交互。
Web API之间的交互。
这个架构是非常典型的例子,每一层都需要保护的资源,都需要实现认证和授权,而且最大的问题是他们的用户有可能都存放在不同的地方,有不同的权限。
为了解决这个问题目前最佳的做法是将各层对于认证和授权的需求独立出来,例如使用我们以前讲过的Token Service,从而可以解决各层之间交
Read more
分类:
Azure虚拟机
◆
标签:
#虚拟机
#Linux
#Azure入门
#基础
◆
发布于: 2023-05-27 21:35:25
Azure 虚拟机使用 Azure 网络进行内部和外部网络通信。 本教程将指导读者部署两个虚拟机,并为这些 VM 配置 Azure 网络。 本教程中的示例假设 VM 将要托管包含数据库后端的 Web 应用程序,但本教程并未介绍如何部署应用程序。 在本教程中,你将了解如何执行以下操作:
创建虚拟网络和子网
创建公共 IP 地址
创建前端 VM
安全的网络流量
创建后端 VM
虚拟网络概述
Azure 虚拟网络在虚拟机、Internet 与其他 Azure 服务(例如 Azure SQL 数据库)之间实现安全网络连接。 虚拟网络分解为称作“子网”的逻辑段。 子网用于控制网络流,并充当安全边界。 部署 VM 时,该 VM 通常包含一个附加到子网的虚拟网络接口。
完成本教程后
Read more
分类:
Azure虚拟机
◆
标签:
#虚拟机
#Linux
#基础
#Azure入门
◆
发布于: 2023-05-27 21:32:04
使用负载均衡可以将进入的请求分发到虚拟机上,从而提高可用性。本教程有如下的要点:
创建一个负载均衡
创建一个健康监测
创建一个流量规则
使用cloud-init安装一个Node.js App
创建虚拟机,并配置虚拟机使用负载均衡
查看负载均衡
从负载均衡配置种移除虚拟机
Azure 负载均衡器是位于第 4 层(TCP、UDP)的负载均衡器,通过在正常运行的 VM 之间分发传入流量提供高可用性。 负载均衡器运行状况探测器监视每个 VM 上的给定端口,仅将流量分发给正常运行的 VM。定义包含一个或多个公共 IP 地址的前端 IP 配置。 利用此前端 IP 配置,可通过 Internet 访问负载均衡器和应用程序。虚拟机使用其虚拟网络接口卡 (NIC) 连接到负载均衡器。 若要
Read more
分类:
Azure虚拟机
◆
标签:
#基础
#Azure入门
#Linux
#虚拟机
◆
发布于: 2023-05-27 21:18:35
虚拟机规模集运行和管理一个可以自动缩放的虚拟机集合,需要注意的这个集合里的虚拟机配置都是一致的。在虚拟机规模集中你可以手动缩放,也可以定义一些规则自动来缩放,例如通过资源的利用率,CPU、内存、或者网络的流量等等。本教程主要知识点:
使用Cloud-init创建一个用于缩放的应用。
创建虚拟机规模集
添加或者减少虚拟机规模集的实例数
创建自动缩放规则
查看虚拟机规模集的链接信息
在虚拟机规模集中使用数据磁盘。
在开始之前我们还是先熟悉一下虚拟机规模集的基本概念。虚拟机规模集主要用于管理同一个配置的,自动缩放的虚拟机。在虚拟机规模集中的虚拟机是分布创建,同时也使用了失效域和更新域两个概念。创建在虚拟机规模集中的虚拟机可以通过定义自动缩放的规则进行缩放,
Read more
分类:
Azure虚拟机
◆
标签:
#虚拟机
#Linux
#Azure
#基础
◆
发布于: 2023-05-27 21:05:53
首先我们需要了解什么是可用性集合。用户如果采用了以虚拟机为主的方案,例如N层应用架构等,为了提高可用性和可靠性,那么可以使用Azure提供的可用性集合,可用性集合可以保证创建的虚拟机会以分布式的形式部署在独立不同的硬件集群上,从而提高可用性和可靠性,另外可用性结合也包括我们经常提到的两个概念:Fault Doamin和Update domain, 分别对应于处理当失效或者更新对客户应用系统的影响。
更为详细的知识,您可以参考如下的文档:
https://docs.microsoft.com/en-us/azure/virtual-machines/availability
https://docs.microsoft.com/en-us/azure/availability-z
Read more
分类:
Azure虚拟机
◆
标签:
#虚拟机
#Linux
#Azure
#基础
◆
发布于: 2023-05-27 21:02:28
定制镜像和在Azure市场的镜像是类似的,Azure提供了工具可以自己创建自己需要的镜像,创建自定义的镜像可以非常方便的为了某些任务定制,而且很容易使用定制的镜像进行扩展。如果需要在Azure上定制镜像请参考本章如下的步骤:
创建一个Shared Image Gallery
创建镜像定义
创建镜像版本
从镜像中创建虚拟机
分享Image Gallery
Shared Image Gallery是由Azure提供的工具,方便用户创建自定义镜像,关于Shared Image Gallery有一些基本的概念需要理解:
镜像源:镜像源可以是一个已经存在的虚拟机主机,也可以是一个快照,Shared Image Gallery使用它来创建一个版本的镜像。
Read more
分类:
Azure虚拟机
◆
标签:
#虚拟机
#Linux
#Azure
#基础
◆
发布于: 2023-05-27 21:00:12
我们在创建Azure Linux虚拟机之后,还需要对虚拟机进行配置,才能应用到日常的工作中,如果可以在创建虚拟机的同时,并在第一次启动的时候配置好相应的配置,那就更好了。cloud-init是目前用得很广泛的工具,我们本章使用cloud-init来为自己的业务完成自动配置,如果想对cloud-init了解更多,您可以参考网站:https://cloudinit.readthedocs.io/。
使用cloud-init可以完成如下的任务:
安装软件
创建文件
配置用户
配置安全策略
cloud-init只在虚拟机第一次启动时运行。
Read more
分类:
Azure虚拟机
◆
标签:
#虚拟机
#Linux
#Azure
#基础
◆
发布于: 2023-05-27 20:56:32
虚拟机使用磁盘来存储数据,因此在创建虚拟机时选择磁盘的大小和可以承受的工作负载非常重要,我们在本教程里学习如下的内容:
操作系统磁盘和临时数据磁盘
数据磁盘
标准磁盘和高级磁盘
磁盘的性能
添加和初始化数据磁盘
磁盘快照
Azure虚拟机默认磁盘
当创建AzureLinux虚拟机时,默认会在虚拟机里附加两块磁盘,这两块磁盘根据功能不同分为操作系统磁盘和临时数据磁盘:
操作系统磁盘:在Linux虚拟机中这个磁盘的大小最大可以达到2TB, 主要用于安装操作系统,在Linux上由设备/dev/sda来标识该磁盘。该磁盘的缓存配置主要针对操作系统来优化的,因此该磁盘不适合用于运行应用和保存数据,这两个需求建议使用数据磁盘。
临时数据磁盘:顾名思
Read more
分类:
Azure虚拟机
◆
标签:
#虚拟机
#Linux
#Azure
#基础
◆
发布于: 2023-05-27 20:53:28
本教程使用Azure CLi进行虚拟机的创建和管理,需要您在本地安装和设置好Azure CLi, 关于如何安装和设置Azure Cli, 您可以参考文档:
下面我们开始使用Azure CLi创建Linux虚拟机
创建资源组
首先设置好Azure CLi
az cloud set --name AzureChinaCloud
az login
az account set --subscription <your subscription>
使用上述命令将Azure环境设为Azure China, 同时登录到Azure China, 然后设置当前的订阅为您的订阅。
创建资源组:
az group create --name myResourceGroupV
Read more