【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错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这 ...
随机推荐
- WebAssembly入门笔记[1]:与JavaScript的交互
前一阵子利用Balazor开发了一个NuGet站点,对WebAssembly进行了初步的了解,觉得挺有意思.在接下来的一系列文章中,我们将通过实例演示的方式介绍WebAssembly的一些基本概念和编 ...
- 从好玩到好用:程序员用AI提效的那些事儿
本片内容是[AI思维空间]ChatGPT纵横编程世界,点亮智慧火花的续作,主要记录组内开发小伙伴儿们在开发过程中的实际应用案例,记录典型案例,尽量不要和其他人重复,以解决开发过程中的实际问题为主,设计 ...
- Vue3中hook的简单使用
创建文件夹 在src下创建文件夹.文件名称为hooks. hooks下的文件夹下,是你的封装的hook: 通过命名为useXXXXXX usexy.js 文件是封装的获取屏幕的坐标 import { ...
- Go中字符串处理:fmt.Sprintf与string.Builder的比较
在Go语言中,我们通常会遇到两种主要的方式来处理和操作字符串:使用fmt.Sprintf函数和string.Builder类型.尽管两者都可以实现字符串的格式化和连接,但它们在性能和用法上有一些关键区 ...
- TienChin 渠道管理-渠道搜索
ChannelController @PreAuthorize("hasPermission('tienchin:channel:list')") @GetMapping(&quo ...
- tomcat搭建本地文件服务器(windows版本)
1.下载tomcat 2.配置环境变量 在"我的电脑"(右键)->"属性"->"高级属性设置"->"环境变量&q ...
- Redis的Java客户端-Jedis
Redis的Java客户端-Jedis 在Redis官网中提供了各种语言的客户端,地址:https://redis.io/docs/clients/ 其中Java客户端也包含很多: 标记为的就是推荐使 ...
- 手把手带你上手swagger3
配置POM 只需要加一个依赖,并且要注意,swagger3在springboot2.5版本以上会出现问题 <dependency> <groupId>io.springfox& ...
- Guava EventBus的具体使用以及源码解析
使用Guava EventBus对系统进行异步解耦改造 一.背景 最近在写的项目里,在使用定时器进行自动任务下派时,发现之前写的程序中将包括启动流程.地图更新.发送短信.效能计算等操作全部集成在同一个 ...
- [Java]Java类中的各元素初始化顺序
Java类中各元素的初始化顺序 初始化的原则是: 先初始化静态部分,再初始化动态部分:(先静再动) 先初始化父类部分,后初始化子类部分:(先父再子) 先初始化变量,次初始化代码块,再初始化构造器:(先 ...