将dot作为静态文件目录中的第一个字符,不允许在Google App Engine中使用

时间:2017-04-16 22:03:27

标签: google-app-engine

目前,我在Google App Engine中有以下配置文件

"input[type=checkbox]"

当我在本地访问以下网址时,两者都可以正常使用

application: jstock-affiliate
version: 1
runtime: python27
api_version: 1
threadsafe: true
auto_id_policy: default

handlers:
- url: /.well-known
  static_dir: .well-known

- url: /static
  static_dir: static

- url: /.*
  script: main.application

libraries:
- name: webapp2
  version: latest

但是,在我部署到Google App Engine后,对于文件夹http://localhost:9080/.well-known/a.txt - OK http://localhost:9080/static/a.txt - OK

并不合适
.well-known

由于https://medium.com/google-cloud/let-s-encrypt-with-app-engine-8047b0642895

,我需要一个点作为文件夹名称中的第一个字符

我可以知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

似乎Google App Engine在创建以dot开头的文件夹时出现问题。以下配置将有所帮助

handlers:
- url: /.well-known
  static_dir: well-known

需要创建文件夹well-known,而不是文件夹.well-known

答案 1 :(得分:0)

新的App Engine Flex环境未在app.yaml中提供“处理程序”配置。我能够做到这一点的唯一方法是向location文件添加nginx-app.conf指令,同时将well-known目录与{{1}中指定的document_root目录平行(基本上在应用程序根目录下):

app.yaml

我使用location ^~ /.well-known/ { alias /app/well-known/; } 匹配,以便禁止以点开头的服务目录的正则表达式规则不匹配。