gpt4 book ai didi

java - Appengine - 隐藏文件夹的部署

转载 作者:太空宇宙 更新时间:2023-11-03 15:24:02 24 4
gpt4 key购买 nike

要验证 SSL 证书,我需要将包含一些文件的隐藏文件夹(“/.well-known”)上传到我的应用程序。

我正在使用 eclipse 部署 java 应用程序,但是这些文件没有在 appengine 上的应用程序中接收。我猜他们被过滤掉了。

我尝试将隐藏文件夹作为静态文件添加到 appengine-web.xml,但没有帮助。

<!-- Configure serving/caching of GWT files -->
<static-files>
<include path="**" />
<include path=".**" />
<include path="**.*" expiration="0s" />
<include path="**.well-known" expiration="0s" />
<include path="**.nocache.*" expiration="0s" />
<include path="**.cache.*" expiration="365d" />
<include path="**.css" expiration="30d"/>
<exclude path="**.gwt.rpc" />
<exclude path="**.html" />
</static-files>

有什么办法可以上传这些文件夹和文件吗?

最佳答案

对于像我一样在 Google App Engine 中尝试以静态方式应对 letsencrypt 挑战并失败后来到这里的其他人,以下为我做了:(有人可能实际上能够静态地做到这一点,但我没有不要尝试它,因为我不想花更多时间尝试一些东西,而 Ian 显然已经尝试过但无法使其工作[也许在 Google App Engine 内部完成的复制命令忽略了以点开头的目录] )

取自http://igorartamonov.com/2015/12/lets-encrypt-ssl-google-appengine/归功于 Igor Artamonov。

只需像这样构建一个 servlet:

公共(public)类 LetsencryptServlet 扩展 HttpServlet {

    public static final Map<String, String> challenges = new HashMap<String, String>();

static {
challenges.put("RzrvZ9gd7EH3i_TsJM-B0vdEMslD4oo_lwsagGskp6c",
"RzrvZ9gd7EH3i_TsJM-B0vdEMslD4oo_lwsagGskp6c.ONrZa3UelibSWEX270nTUiRZKPFXw096nENWbMGw0-E");
}

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!req.getRequestURI().startsWith("/.well-known/acme-challenge/")) {
resp.sendError(404);
return;
}
String id = req.getRequestURI().substring("/.well-known/acme-challenge/".length());
if (!challenges.containsKey(id)) {
resp.sendError(404);
return;
}
resp.setContentType("text/plain");
resp.getOutputStream().print(challenges.get(id));
}
}

然后添加到 web.xml 中,例如:

<servlet>
<servlet-name>letsencrypt</servlet-name>
<servlet-class>...LetsencryptServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>letsencrypt</servlet-name>
<url-pattern>/.well-known/acme-challenge/*</url-pattern>
</servlet-mapping>

当然,请确保 servlet 类具有您创建的 Servlet 的完整类路径。

该博文还介绍了生成和安装证书所需的其他步骤。

Ian:你确定你部署的 servlet 很好吗?检查日志,确保您正在测试正确的版本..也许您遇到了编译问题..

干杯

关于java - Appengine - 隐藏文件夹的部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39281654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com