【问题标题】:No file found for: /_ah/start on Google App Engine在 Google App Engine 上找不到以下文件:/_ah/start
【发布时间】:2019-09-26 20:29:31
【问题描述】:

我最近在 GAE 本地应用上从默认缩放更改为手动缩放。 我可以从/api/* 路径获得响应,但我的欢迎文件不再起作用。

我明白了

访问 / 时出现问题。原因:

禁止

在启动服务器时它说:

com.google.appengine.tools.development.jetty9.LocalResourceFileServlet doGet

警告:找不到文件:/_ah/start

在此之前一切正常,这是我的appengine-web.xml

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <version>1.0</version>
    <manual-scaling>
        <instances>1</instances>
    </manual-scaling>
    <instance-class>B1</instance-class>
    <threadsafe>true</threadsafe>
    <sessions-enabled>true</sessions-enabled>
    <runtime>java8</runtime>
        <static-files>
            <include path="/**.html"></include>
            </static-files>
    <resource-files>
        <include path="/**.json" />
    </resource-files>
</appengine-web-app>

还有我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <filter>
    <filter-name>connexionFilter</filter-name>
    <filter-class>slFilters.connexionFilter</filter-class>
  </filter>
  <filter>
    <filter-name>restrictFilter</filter-name>
    <filter-class>slFilters.restrictFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>connexionFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>restrictFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <session-config>
    <cookie-config>
      <http-only>true</http-only>
    </cookie-config>
  </session-config>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

index.html是一个简单的hello world html文件,访问localhost:8080时应该会显示

非常感谢任何帮助

【问题讨论】:

    标签: java google-app-engine jetty http-status-code-403


    【解决方案1】:

    /_ah/start 受到打击,因为您选择了手动缩放:

    手动扩展:请求最多可以运行 24 小时。手动扩展的实例可以选择处理 /_ah/start 并执行程序或脚本数小时而不返回 HTTP 响应代码。任务队列任务最长可以运行 24 小时。

    https://cloud.google.com/appengine/docs/standard/java/how-instances-are-managed

    欢迎文件的网址是什么?它是如何工作的

    【讨论】:

    • 感谢您的回答。我之前确实读过,但仍然不明白为什么我会收到 403 错误代码。我的基本网址是 localhosr:8080 这是我遇到问题的地方。任何想法?非常感谢。
    • 对不起,我没有投票,因为这并不能解决我的问题,但您仍然不知道这可能来自哪里??
    • 我在应用引擎方面的经验是使用 python,不幸的是它有不同的配置文件集/样式。所以我可以回答有关一般应用程序引擎行为的问题。你确定你没有改变的不仅仅是缩放类型吗?就像如果您将配置文件的那一部分改回来,它会起作用吗?可能导致 403 的另一件事是在我的配置文件中,我可以将一组路由定义为需要“管理员”访问权限,这意味着您需要登录可以访问 GCP 项目的 Google 帐户。另一件事是您定义路线的顺序很重要。
    • 也许尝试为/_ah/start 实现一个处理程序?也许它需要返回 200 才能让应用引擎正常进行
    • 好的,非常感谢您的回答。我将直接尝试 200 代码。当删除手动缩放一切恢复正常以及创建特定 servlet(一种 JAVA 中的路由类)并转发到我的 index.html 时,我陷入无限循环中的 StackOverflowError
    猜你喜欢
    • 2019-01-18
    • 2019-04-26
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 2011-05-23
    • 1970-01-01
    • 2017-01-09
    相关资源
    最近更新 更多