问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的环境. 在App Service for Linux环境中,为PHP提供的运行时当前只有PHP 8.0, 并且 PHP 8.0 中使用的Nginx作为代理服务器.然后请求才会传递到PHP应用中. 基于以上分析,在PHP应用中,会收到Nginx 和PHP双重限制.所以传递文件的限制问题设计到两个方面:…
问题描述 当创建一个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…
在文章([事件中心 Azure Event Hub]使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnectedException))中,介绍了使用Logstash连接EventHub时,遇见的两种异常,但是对于如何在Linux环境中安装Logstash,并且配置EventHub设置,启动等,则包含在当前文章中. 安装Logstash 首先在Logstash中选择需要的版本,使用wget下载到当前目录中,如当…
问题描述 参考官方文档部署 PHP Laravel 项目到App Service for Linux环境中,但是访问应用时候遇见了500 Server Error 错误. 从部署的日志中,可以明确看出部署是成功的,那么为什么启动页面不成功呢? 问题分析 Laravel 应用程序生命周期在 public 目录中开始,而不是在应用程序的根目录(wwwroot)中开始.在Azure App Service中,所有项目的默认根目录都是wwwroot. 但是可以使用 .htaccess 来重写所有请求,使…
问题描述 实现部署NodeJS Express应用在App Service Linux环境中,并且使用Microsoft Authentication  Library(MSAL)来实现登录Azure AD用户,获取Token及用户信息的实现. 终极实现效果展示: 本实现中,最重要的两个步骤为: 1)根据文档" Tutorial: Sign in users and acquire a token for Microsoft Graph in a Node.js & Express we…
问题描述 使用 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…
问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这样的情形是,有效的排查办法就是在问题重现的时候抓取DUMP文件,可以通过DUMP文件分析出是否有线程死锁,或查看时那些请求导致的死锁问题.也可以定位到相关的自定义代码类文件.非常助于下一步的查找问题. 抓取DUMP文件 1) 利用App Service自带Kudu的工具获取DUMP文件 登录进当前应…
问题描述 在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 for Linux 中实现 WebSocket 功能 (Python SocketIO)"中,实现了通过 HTTP 方式访问部署在Azure App Service For Linux上的Python Flask Web Socket项目, 但是当使用HTTPS访问时候,socket.io所发送的GET请求都能正常. HTTP 成功 HTTPS 失败 但是POST请求全部返回400 Bad Request 那么,如何…
问题描述 App Service for Linux 资源创建完成后,通过FTP方式把 .jar包(logdemo.jar)包上传到 /site/wwwroot/ 文件夹后,在App Service的Configration 配置页面配置启动命令为: java -jar /site/wwwroot/logdemo.jar 但是,在访问App Service时,却是 Application Error 错误 (503 Service Temporarily Unavailable) 问题解决 第一…