【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
问题描述
在App Service Linux环境中,如部署Tomcat 应用后,如果访问的页面找不到,应用会返回一个由Azure生成的404页面,那么是否可以修改它呢?

PS: 如果是App Service for Windows,可以参考博文 [ App Service for Windows 环境中为Tomcat自定义4xx/5xx页面 : https://www.cnblogs.com/lulight/p/16335472.html ]
问题解答
答案是可以的。只是步骤比较复杂。需要修改 Tomcat 的 conf/server.xml 文件配置并应用它。
1) 从App Service上复制出当前Tomcat中的 server.xml 文件
- 打开App Service的SSH页面:https://<your-app-service-name>.scm.chinacloudsites.cn/webssh/host
- 执行命令(把server.xml服务到home目录中): cp /usr/local/tomcat/conf/server.xml /home

2)修改server.xml,添加ErrorReportValue配置
- 访问Kudu newui页面: https://<your-app-service-name>.scm.chinacloudsites.cn/newui/fileManager#
- 修改server.xml ,在末尾附近添加 <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />

PS:如果遇见修改页面一直显示“Fetching contents...”而不出现内容,则是需要为当前用户赋予 Web Plan Contributor的权限。不然,只有通过下载到本地修改后,跟随源文件一起上传 或者单独 上传到 /home 文件夹。
3)使用修改后的 server.xml 覆盖默认的/usr/local/tomcat/conf/server.xml 文件
- 若已经使用了startup_script脚本文件,在其中添加cp /home/server.xml /usr/local/tomcat/conf 即可
- 如果没有,首先添加startup_script脚本,然后在其中添加这段命令。如在 /home 目录中创建一个 startup_script.sh 的文件,在文件中加上 cp /home/server.xml /usr/local/tomcat/conf 内容, 然后配置在App Service --> General Settings --> Startup Command

最后,实现的效果图为:

参考资料
配置运行时堆栈时,“启动文件”部分的预期值是什么?https://learn.microsoft.com/zh-cn/troubleshoot/azure/app-service/faqs-app-service-linux#-------------------------
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面的更多相关文章
- 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...
- 【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?
问题描述 当创建一个App Service 后,运行时环境和版本选择Windows 和 Python 3.6. 登录Kudu 站点查看,默认的文件有 web.config, hostingstart- ...
- 【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
在文章([事件中心 Azure Event Hub]使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnected ...
- linux环境中关闭tomcat,通过shutdown.sh无法彻底关闭--线程池
最近测试环境上测试的项目通过shutdown.sh始终无法彻底关闭. 之前临时解决方法两种: 第一:通过ps -ef|grep tomcat查看到tomcat的进程直接使用kill来杀死进程. 第二: ...
- 在linux环境中配置tomcat
1.将tomcat文件上传到linux服务器上,并且解压文件. 2.创建文件夹 mkdir /usr/local/solr (这个文件夹,根据自己的喜好来创建) 3.将解压好的tomcat文件复制到 ...
- linux环境中 对tomcat配置java环境
JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2048m -XX:MaxPermSize=512m" JAVA_HOME="/weblogic1 ...
- 【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
问题描述 参考官方文档部署 PHP Laravel 项目到App Service for Linux环境中,但是访问应用时候遇见了500 Server Error 错误. 从部署的日志中,可以明确看出 ...
- 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
问题描述 实现部署NodeJS Express应用在App Service Linux环境中,并且使用Microsoft Authentication Library(MSAL)来实现登录Azure ...
- 【Azure 应用服务】App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)
问题描述 使用 python websockets 模块作为Socket的服务端,发布到App Service for Linux环境后,发现Docker Container无法启动.错误消息为: 2 ...
- 【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这 ...
随机推荐
- vue中render函数使用attrs绑定id、class、style、事件(5)
1.h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. ...
- 希尔伯特变换用于解调系统——以解调调频信号为例,FM Demodulation
What's The Hilbert Transform 简单地说,希尔伯特变换的物理意义为:把信号的所有频率分量的相位推迟90度,这样原信号和变换后信号可以视为一组IQ正交信号,在数字域正交化,可以 ...
- Gorm 数据库表迁移与表模型定义
目录 一.Docker快速创建MySQL实例 1.1 创建 1.3 创建数据库 二.AutoMigrate介绍与使用 2.1 AutoMigrate介绍 2.2 AutoMigrate 基本使用 三. ...
- Python 探索性数据分析工具(PandasGUI,Pandas Profiling,Sweetviz,dtale)以及学术论文快速作图science.mplstyle
如果探索的数据集侧重数据展示,可以选PandasGUI:如果只是简单了解基本统计指标,可以选择Pandas Profiling和Sweetviz:如果需要做深度的数据探索,那就选择dtale. 1. ...
- python3 ACM模式的输入输出例子教学
Python的输入是字符串,所以要自己转类型 strip去掉左右两端的空白符,返回str slipt把字符串按空白符拆开,返回[str] map把list里面的值映射到指定类型,返回[type] EO ...
- 解决github无法进入问题,DNS加速
1.电脑的hosts文件在下面这个地址,找到hosts文件 C:\Windows\System32\Drivers\etc 2.进入文件夹目录etc 找到hosts文件,使用记事本编辑 3.进入这个网 ...
- SpringBoot 多模块开发 笔记(一)
多模块开发 简易版 dao 层 也可以说是 Mapper 层 web 层 将 controller 放在这一层 还有 统一返回类型 和 自定义异常 也在放在这里 启动类也放在这里 model 层 也就 ...
- 使用SecureCRT的按钮实现快速查询
背景:有这么个日常运维场景,客户因管理需求,不允许在服务器上部署任何自动化的脚本,需要人工登录到机器上查询ASM磁盘组的使用率情况,有上百套环境. 使用的工具是SecureCRT,如何提升一些效率呢? ...
- ResponseUtil jackson 转换问题;返回结果与 Bean 之间的转换,推荐使用convertValue
/** * 若成功往往有data数据 * 示例: * UserBase userBase = new UserBase(); * userBase.setUserName("李昱鑫" ...
- delphi 异常测试(我自己捕捉)
由于最近的短信模块老是报SocketErorr错误,有的时候也不确定是哪里有问题,影响短信的销售,所以这里这样写,把出现的异常捕捉到显示出来.然后跳过这个不发送 ------------------- ...