问题描述 因为中国区的App Service对外(公网访问)需要进行ICP备案,所以很多情况下,Web应用部署到App Service后,都是通过Application Gateway(应用程序网关)来对外网暴露,提供公网访问. 上图列出了使用Application Gateway后,外网访问App Service的示意图. 如果直接访问,则会出现403的错误页面. 那么,在这样的情况下,我们如何来实现通过公网暴露Git的URI,实现外网成功部署App Service的代码呢? 问题解答 当然,…
问题描述 App Service访问的APIM已配置内部虚拟网络(Internal VNet)并拥有内网IP地址.App Service与APIM都在相同的虚拟网络(VNET)中.App Service如何通过内网访问APIM呢?是否需要在虚拟网络中添加自定义DNS服务进行域名解析呢? 问题答案 是的,由于APIM配置的是内部虚拟网络,它只能接收从虚拟网络内部发送的请求,而无法接受从公网(Internet)发送的请求.所以App Service需要访问APIM,需要走内部虚拟网络的链路.同时,由…
通过Azure App Service门户,启用Health Check来监视应用服务的实例,当发现其中一个实例处于不健康(unhealthy)状态时,通过重新路由(即把有问题的实例从负载均衡器中移除, Load Balancer)的方式把请求发送到健康的实例上.并且如果不健康的实例一直存在问题,系统则会启动一个新实例来替换不健康的这个实例. This article uses Health check in the Azure portal to monitor App Service ins…
问题定义 使用Azure应用服务(App Service),部署Java应用,使用Tomcat容器,如何自定义错误页面呢?同时禁用DELETE, PUT方法 解决办法 如何自定义错误页面呢?需要在 Java 的 web.xml 进行配置 error-page,具体内容如下: <?xml version="1.0" encoding="utf-8" ?> <web-app xmlns="http://xmlns.jcp.org/xml/ns…
问题描述 当创建一个App Service 后,运行时环境和版本选择Windows 和 Python 3.6. 登录Kudu 站点查看,默认的文件有 web.config, hostingstart-python.py, hostingstart-python.html,  在配置文件中,通过pythonpath来指定启动目录,而 WSGI_HANDLER 则指定启动的py文件为 hostingstart-python.py. web.config <configuration> <ap…
问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linux的环境中如何抓取网络包呢? 抓取Windows的网络包可参考博文:[应用服务 App Service]App Service中抓取网络日志 问题解决 通过SSH方式登录到Linux实例,使用tcpdump的工具抓取网络包, 通过IP地址和端口443来进行过滤,生成的网络包写入到tmp目录下的 ap…
问题描述 在本地开发的站点,响应头中的中文可以正常显示,部署到Azure App Service站点后,响应中文乱码.通过多方面验证,在代码中设置Response的Headers会显示乱码,而直接配置在Web.Config中的Header则能正常显示. 代码中写的中文会乱码 context.HttpContext.Response.Headers.Add("ChineseTest", "中"); 在web.config中的正常显示 <system.webSer…
问题描述 在Azure App Service上部署了站点,想要在网站的响应头中加一个字段(Cache-Control),并设置为固定值(Cache-Control:no-store) 效果类似于本地IIS中设置IIS响应标头 有时,也会根据不同的安全要求,需要添加Response Header,如下: #Adding security headers X-Frame-Options "SAMEORIGIN" X-Xss-Protection "1; mode=block&q…
问题描述 在.Net Core 5.0 项目中,添加 Microsoft.Extensions.Logging.AzureAppServices 和 Microsoft.Extensions.Logging.Abstractions插件,并且在项目中添加  logging.AddAzureWebAppDiagnostics() return Host.CreateDefaultBuilder(args) .ConfigureLogging(logging => { //logging.AddCo…
问题描述 使用 python websockets 模块作为Socket的服务端,发布到App Service for Linux环境后,发现Docker Container无法启动.错误消息为: 2021-10-28T02:39:51.812Z INFO - docker run -d -p 1764:8000 --name test_0_c348bc62 -e WEBSITE_SITE_NAME=sockettest -e WEBSITE_AUTH_ENABLED=False -e WEBS…