Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何确保;“永远在线”;应用程序服务在Azure广告后自动启动_Java_Spring Boot_Azure Active Directory_Azure Web App Service - Fatal编程技术网

Java 如何确保;“永远在线”;应用程序服务在Azure广告后自动启动

Java 如何确保;“永远在线”;应用程序服务在Azure广告后自动启动,java,spring-boot,azure-active-directory,azure-web-app-service,Java,Spring Boot,Azure Active Directory,Azure Web App Service,我正在Windows/Java 11/Tomcat 9.0应用程序服务上运行Spring Boot web应用程序,设置如下: 在“配置”刀片下的“常规设置”选项卡 “始终打开”处于打开状态 在“身份验证/授权”刀片中 “应用程序服务身份验证”处于启用状态 “请求未通过身份验证时要采取的操作”设置为“使用Azure Active Directory登录” 重新启动应用程序时(例如部署时),在经过身份验证的用户点击应用程序之前,应用程序不会启动或记录任何内容。这是一个主要问题,因为

我正在Windows/Java 11/Tomcat 9.0应用程序服务上运行Spring Boot web应用程序,设置如下:

  • 在“配置”刀片下的“常规设置”选项卡
    • “始终打开”处于打开状态
  • 在“身份验证/授权”刀片中
    • “应用程序服务身份验证”处于启用状态
    • “请求未通过身份验证时要采取的操作”设置为“使用Azure Active Directory登录”
重新启动应用程序时(例如部署时),在经过身份验证的用户点击应用程序之前,应用程序不会启动或记录任何内容。这是一个主要问题,因为web应用程序还运行后台进程轮询消息,然后这些消息将排队等待有人访问

在请求未通过身份验证时切换到要采取的操作以“允许匿名(无操作)”解决了此问题,但出于安全原因,不需要这样做

根据:

使用“始终打开”功能,前端负载平衡器向应用程序根用户发送请求。无法配置应用程序服务的此应用程序终结点

点击应用程序根目录确实会启动它,因此我假设对应用程序根目录的初始请求被重定向到Azure AD,因此不会点击Java代码并启动服务


我如何将应用程序配置为在点击Java代码之前需要登录,并确保应用程序“始终打开”

听起来您正在使用web应用程序的内置身份验证刀片。对吗

如果是这样的话,那么您可以避免这个问题,因为Easy Auth有一些“高级应用程序设置”来解释这种情况,如果它阻碍了始终打开

使用“WEBSITE_WARMUP_PATH”将允许匿名访问此特定路径,以确保始终打开,而所有其他路径仍需要身份验证。 此设置用于未经身份验证的客户端(如Azure Traffic Manager或Azure应用程序服务的“始终打开”功能)需要访问web应用程序中的特定路径而无需身份验证时使用。设置后,Easy Auth不会拒绝对指定URL路径的任何HTTP请求,无论未经身份验证的客户端的指定规则如何


更多信息:

看起来,将网站预热路径(在应用程序设置下的配置刀片中)设置为“/somepage”对我来说很有用(或者几乎任何东西——无论你转到我的Java代码的哪个URL都会重定向到登录)。我希望它必须是“”或“/”中的一个,正如上面的文档所建议的,总是在向根用户发送请求。但是“”不能修复任何问题,而“/”会破坏网站,原因我还没有探究。我还整理了这个问题,以使我启用的设置更清晰。一旦我验证了“/”路径发生了什么,我将接受答案,因为它已经起作用了,谢谢!