我们有一个问题,我们无法在 azure 应用程序服务中使用 arr 亲和性,因为它在使用自定义域的前门后不起作用(arr cookie 上有错误的主机供浏览器接受),这似乎成为应用服务和/或前门的限制。
因此,我们正在考虑每个区域仅使用我们的应用服务的一个实例,但我们现在面临着随时回收我们应用的风险,因为我们只有一个节点。
所以问题是......在回收事件中,应用服务是否会在发出重新启动命令之前耗尽其正在运行的 http 请求队列?还是所有请求都被杀死了?
我们有一个问题,我们无法在 azure 应用程序服务中使用 arr 亲和性,因为它在使用自定义域的前门后不起作用(arr cookie 上有错误的主机供浏览器接受),这似乎成为应用服务和/或前门的限制。
因此,我们正在考虑每个区域仅使用我们的应用服务的一个实例,但我们现在面临着随时回收我们应用的风险,因为我们只有一个节点。
所以问题是......在回收事件中,应用服务是否会在发出重新启动命令之前耗尽其正在运行的 http 请求队列?还是所有请求都被杀死了?
我试图从标头中获取不记名令牌 Easy Auth 注入到我的 Azure 应用程序服务的请求中,以提供想要对我的应用程序进行 API 调用的用户,但是来自 X-MS-TOKEN 中提供的令牌存储的令牌- AAD-ACCESS-TOKEN 无效。它采用某种内部或加密格式,以 JWT 开头PAQABAAAAAAD--
而ey
不像 JWT。X-MS-TOKEN-AAD-ID-TOKEN 有效,但在我访问/.auth/refresh
.
我尝试按照http://jsandersblog.azurewebsites.net/2020/01/17/easy-auth-using-x-ms-token-aad-access-token-as-a-bearer-token/上的说明获取一个真正的不记名令牌,但资源浏览器给了我这个:
Cannot execute the request for site ... because the site is running on auth version v2
该怎么办?
我们有一个 Azure DevOps 管道,它首先使用 ARM 模板部署我们的资源,然后使用 zip 部署我们的 AppServices。我们已经多次运行管道,并且应用程序正在正确运行。
在另一次部署尝试之后的某个时间 - (资源的)第一个部署步骤失败。部署中的更改不包含对 AppService 的任何更改。并且失败的部分不是AppService(而是说我们的数据库),AppService 仍然不可用。看起来它已重置为默认托管设置。似乎以前的部署在“/data/SitePackages”文件夹中仍然可用,但“/site/wwwroot”文件夹仅包含默认的“hostingstart.html”文件。
我对增量部署的理解是,如果 AppService 未更改,它应该保留所有设置!(因此它之前的部署处于活动状态。)
这是默认行为吗?当部分部署失败时,我们能否以某种方式保持以前的应用程序运行?我们是否需要选择另一种部署策略?
我们的管道看起来像这样;
jobs:
- deployment: 'Deploy'
environment: '${{ parameters.environment }}' # The environment to use in Azure Devops (controls the required approvals)
variables:
- template: '../variables/deploy-variables.yml'
parameters:
environment: '${{ parameters.environment }}'
strategy:
runOnce:
deploy:
steps:
- task: AzureResourceManagerTemplateDeployment@3
displayName: 'Azure - Deploy resources'
inputs:
deploymentScope: 'Resource Group'
azureResourceManagerConnection: '${{ parameters.azureServiceConnection }}'
subscriptionId: '$(azureSubscriptionId)'
action: 'Create Or Update Resource Group'
resourceGroupName: '$(resourceGroup)'
location: 'West Europe'
templateLocation: 'Linked artifact'
csmFile: '$(Pipeline.Workspace)/drop-resources/files/arm/resources/azuredeploy.json'
csmParametersFile: '$(Pipeline.Workspace)/drop-resources/files/arm/resources/azuredeploy.parameters.json'
deploymentMode: 'Incremental'
- task: AzureWebApp@1
displayName: 'Deploy Service'
inputs:
azureSubscription: '${{ parameters.azureServiceConnection }}'
appName: '$(serviceName)'
package: '$(Pipeline.Workspace)/drop-app/archives/Service.zip'
我正在尝试创建一个免费的 linux 应用服务计划。但是 ARM 一直告诉我:
此订阅已达到可在该区域创建的 1 个免费 Linux 应用服务计划的限制。请选择不同的 sku 或地区。
然而,这具有误导性,因为没有单一的应用服务计划。不是免费的,资源组和整个订阅中都没有。
很可能之前有一个免费的基于 linux/windows 的应用程序服务计划,但在某个时候被删除了。Azure 会记录这些吗?
我正在阅读 Azure Defender 的文档(https://docs.microsoft.com/en-gb/azure/security-center/azure-defender),这表明启用 Azure Defender for App Service 的唯一方法是通过启用订阅,该订阅将为使用以下应用服务计划的所有应用服务启用;基本、标准、高级、隔离或 Linux。
Azure Defender for SQL 和 Azure Defender for Storage 似乎更精细,允许在特定资源上启用。有没有办法只启用特定的应用服务(或特定的应用服务计划和派生的应用服务)?
我正在尝试使用 powershell 在高级层中部署应用服务计划 (ASP)。我可以成功部署 ASP,但ASP 默认为 P2v1,这不是我想要的。我需要在高级层中将 ASP 设置为P2V2。
在执行 powershell 命令时,我无法弄清楚或找到如何指定大小。这是我的命令:
New-AzAppServicePlan -Name $AppServicePlan -Location $location -ResourceGroupName $ResourceGroup -Tier "PremiumV2"
如果有人能解释我如何更新我的命令,以便将 ASP 设置为 Premium P2V2,我将不胜感激。
我们在 Azure 应用服务中使用“自定义域”。DNS 指向 -> 自定义域 -> IP 地址中列出的应用服务的 IP 地址。一切都按预期工作(y)
问题来了:这个IP可以改变吗?我应该小心任何类型的配置,例如升级吗?或者这个IP可靠吗?
谢谢