如何在 Google AppEngine 平台上访问 Fauxton?

2024-02-17

我正在 Google App Engine 上创建一个离线优先的应用程序,其中 PouchDB 作为我的本地数据库,CouchDB 作为我的远程数据库。我已在 Google AppEngine 上启用了 CouchDB,并尝试访问以下 URL:

https://[my-app-id].appspot.com:5984/_utils/

当我这样做时,我得到以下信息:

This site can’t be reached
The connection was reset.
Try:
Checking the connection
Checking the proxy and the firewall
Running Windows Network Diagnostics
ERR_CONNECTION_RESET

所以我尝试启用https在防火墙设置中访问。

**Firewalls**
[ ] Allow HTTP traffic
[Y] Allow HTTPS traffic

仍然出现上面的错误。

我搜索了文档,但找不到任何有关如何在 Google AppEngine 上访问 Fauxton(或 Futon)的有用信息。 (说明仅告诉您如何在本地计算机上访问 Fauxton https://docs.bitnami.com/google/infrastructure/couchdb/#how-to-connect-to-fauxton.)

I have 生成私钥和公钥并通过命令行登录服务器 https://docs.bitnami.com/google/faq/#obtaining-your-ssh-credentials-from-the-google-cloud-launcher.

我也遵循了有关配置防火墙以允许远程访问的说明 https://docs.bitnami.com/google/faq/#how-to-open-the-server-ports-for-remote-access,并且仅将其提供给我的电脑。

这些都没有让我能够访问https://[my-app-id].appspot.com:5984/_utils/

如何在 Google AppEngine 平台上访问 Fauxton?


Update:根据我的浏览器中的开发工具,我的 PouchDB 应用程序已成功创建要同步的数据库,但它不在服务器上:

应用程序.yaml 文件

application: [app-name]
version: 4
runtime: python27
api_version: 1
threadsafe: false

handlers:

- url: /
  script: main.py

- url: /(favicon)\.ico$
  static_files: \1.ico
  upload: /(favicon)\.ico
  application_readable: true

- url: /(package)\.json$
  static_files: \1.json
  upload: /(package)\.json
  application_readable: true

  # Serve images as static resources #
- url: /(.+\.(gif|png|jpg|json|ico))$
  static_files: \1
  upload: .+\.(gif|png|jpg|json|ico)$
  application_readable: true


- url: /index.html
  static_files: index.html
  upload: index.html 

- url: /licence.html
  static_files: licence.html
  upload: licence.html 

- url: /privacy.html
  static_files: privacy.html
  upload: privacy.html 

- url: /pouchnotes.manifest
  static_files: pouchnotes.manifest
  upload: pouchnotes.manifest  

- url: /manifest.json
  static_files: manifest.json
  upload: manifest.json

  # static directories #

- url: /img
  static_dir: img

- url: /js
  static_dir: js

- url: /css
  static_dir: css


libraries:
- name: webapp2
  version: "2.5.2"

EDIT: 我在 Bitnami 社区论坛中发布了这个问题 https://community.bitnami.com/t/how-do-i-access-fauxton-on-the-google-appengine-platform/53478(他们在 Google App Engine 上提供 CouchDB)


FWIW,您帖子中的参考文献之一指向 Google Compute Engine (GCE),它是一个 IaaS,而不是像 Google App Engine (GAE) 这样的 PaaS,您might看错了产品。

The app.yaml文件表明您正在使用标准环境,该环境不提供配置侦听端口的方法。而且它也不允许侦听套接字。从限制和限制 https://cloud.google.com/appengine/docs/standard/python/sockets/#limitations_and_restrictions_if_lang_is_java_java_7_runtime_only_endif:

虽然 App Engine 支持套接字,但存在一定的限制 使用套接字时需要注意的行为:

  • 您无法创建侦听套接字;您只能创建出站套接字。

GAE 灵活的环境might是一种替代方案,因为它消除了许多标准环境限制,但它是一个显着不同 https://cloud.google.com/appengine/docs/flexible/python/flexible-for-standard-users解决方案(我还没有使用过)。答案的其余部分假设灵活的环境,并且它仅基于文档。

不是 100% 确定,但你might需要教您的应用程序监听端口 8080。从监听8080端口 https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build#listen_to_port_8080:

App Engine 前端会将传入请求路由到 端口 8080 上的适当模块。您必须确保您的 应用程序代码正在侦听 8080。

除非你可以使用forwarded ports网络配置(同样,不是100%确定,我没有使用flex env)。从转发端口 https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml#port_forwarding:

端口转发允许直接连接到 Docker 容器 在你的实例上。此流量可以通过任何协议传输。港口 转发旨在帮助您解决可能需要的情况 连接调试器或分析器。

默认情况下,不允许来自网络外部的传入流量 通过谷歌云平台防火墙 https://cloud.google.com/compute/docs/networks-and-firewalls#firewalls。当你拥有之后 您的指定端口转发app.yaml文件中,您必须添加一个 允许来自您要打开的端口的流量的防火墙规则。

您可以在网络防火墙规则页面中指定防火墙规则 在里面谷歌云平台控制台 https://console.cloud.google.com/networking/firewalls or using gcloud命令 https://cloud.google.com/compute/docs/vpc/using-firewalls.

例如,如果您想从端口转发 TCP 流量2222:

  1. 修改app.yaml包括:

    entrypoint: gunicorn -b :$PORT -b :2222 main:app
    
  2. 在您的网络设置中app.yaml, 包括:

    network:
      forwarded_ports:
       - 2222/tcp
    
  3. 在防火墙规则中指定云平台控制台 https://console.cloud.google.com/networking/firewalls或使用gcloud compute firewall-rules create https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/create允许来自任何地方的流量 来源 (0.0.0.0/0)和从tcp:2222.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Google AppEngine 平台上访问 Fauxton? 的相关文章

  • 未找到“google\appengine\CreateUploadURLRequest”类

    我正在使用谷歌云CORE PHP使用简单的 HTML 表单上传文件但我被困在CloudStorageTools班级 它会抛出连续的跟随错误 致命错误 类 找不到 google appengine api cloud storage Clou
  • 使用 NDB 中的 Key 检索实体

    我有这样的结构 有章节的书籍 祖先 书 有页面 祖先 章节 我很清楚 要通过 ID 搜索章节 我需要通过祖先查询来搜索书籍 今天我了解到 如果我拥有所有密钥 我可以直接检索实体 而无需先获取书籍 然后获取章节 然后获取页面 如下所示 pag
  • 内置方法读取couchdb文件大小?

    我正在尝试使用 couchdb 作为消息存储 并想报告消息大小 理想情况下 读取 size 属性会很好 最坏的情况是我可以检查整个文档 JSON 的字符串长度 我什至可能想使用尺寸作为查看键 您认为记录文档大小的最佳方法是什么 为什么您认为
  • queue.yaml 无法在 App Engine 中工作(开发)

    我正在尝试使用 queue yaml 在 Google App Engine 应用程序 Java 版本 中定义队列 queue name default rate 5 s name availableTicketsAlert rate 5
  • 从 App Engine 连接到 Kubernetes 引擎

    我们希望使用应用程序引擎灵活的流程来更新位于 Google Kubernetes Engine 上的 ElasticSearch 索引 我们需要通过 http s 地址连接到 ElasticSearch 推荐的方法是什么 我们不想将集群暴露
  • 如何将 Firebase 身份验证与 Google 应用引擎端点集成

    我正在为移动应用程序编写一个后端服务器 后端在谷歌应用程序引擎上运行并用Java编写 我希望用户能够使用联合身份 例如 facebook 登录 我看到谷歌通过 firebase 身份验证支持移动应用程序的这种身份验证 将 firebase
  • CouchDB 视图中的链接文档

    我很难理解 CouchDB链接文档 http wiki apache org couchdb Introduction to CouchDB views Linked documents特征 我有两个types存储在单个 CouchDB 数
  • Google App Engine - 破坏服务 URL 缓存

    我终于设法让图像在 App Engine 上正确旋转 现在我正在努力绕过缓存的图像 而标准缓存清除技术不起作用 因此 第一次旋转图像时 我得到了一个不同的 URL 并且图像被旋转 第二次旋转它时 我得到相同的 URL 只有在附加 s300
  • 用于开发 iPhone 推送通知服务的 Google App Engine 的 Java 替代方案是什么?

    我是一名 Java 程序员 正在开发 iPhone 应用程序 我希望它使用推送通知服务 我原本以为我可以使用 Google App Engine 向 Apple 提供有效负载 但现在我发现这是不可能的 因为 App Engine 不支持与
  • 如何在 AppEngine (GAE) 中进行数据库锁定?

    在 GAE 中 我有一个充满 一次性 的表 诸如 最后使用的序列号 之类的东西 这些东西并不真正属于其他表 它是一个简单的字符串键和字符串值对 我有一些代码来获取命名整数并递增它 如下所示 PersistenceCapable detach
  • 在 GAE/Python 中放置一次性代码和每次代码的最佳位置在哪里?

    我是 Google App Engine 和 Python 的新手 我无法理解有关在 Google App Engine 上运行的 Python 应用程序的一些基本问题 如果我想要执行代码 对于每个传入的请求 我应该将其放在哪里 我们正在捕
  • 如何在 Python for 循环中获取 GAE ndb 中当前记录的密钥?

    我目前有一个网页 其中显示数据存储中的记录列表以及编辑链接 我想从数据库转换它 至新开发银行 我是 Python 和 GAE 新手 当前代码 tbody for listtype in listtypes tr td listtype Li
  • AppEngine 警告 - OpenBLAS 警告 - 无法确定该系统上的 L2 缓存大小

    我尝试在 GC AppEngine 上部署应用程序 部署过程中没有错误 但应用程序无法运行 仅显示加载页面 日志中唯一一个奇怪的原始日志 OpenBLAS WARNING could not determine the L2 cache s
  • Google 应用程序引擎 - 上传的文件在谷歌云存储上不公开

    我有一个允许用户上传图像的应用程序 并且我希望其他用户能够看到该图像 我使用 CloudStorageTools createUploadUrl 方法允许用户通过 POST 上传 然后 我将上传的文件并使用 move uploaded fi
  • Tipfy:如何在模板中显示blob?

    鉴于在 gae 上使用tipfy http www tipfy org python 以下模型 greeting avatar db Blob avatar 显示 blob 此处为图像 的模板标签是什么 在这种情况下 斑点是一个图像 这很棒
  • 如何在android中安装和使用couch db

    我应该如何在 android 中安装和使用 couch Db 我的意思是本地沙发数据库 我可以在平板电脑和模拟器中使用它 为此我必须遵循哪些步骤 我目前正在开发一个使用它的项目 有两种选择 1 couchbase android 是的 co
  • Google Cloud Storage (GCS) 中的文件数量有限制吗?

    我相信不应该有任何限制 但只是想确认一下 官方文档中没有提及 Google Cloud Storage GCS 中的文件数量有限制吗 如果 GCS 中有大量文件 是否会对性能 访问和写入操作 产生影响 文件名长度是否有限制 因为我可以使用文
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 我可以访问其他 Google App Engine 应用程序的数据存储区实体吗

    众所周知 在Google App引擎中 对于每个注册的电子邮件帐户 我们可以进行10个申请 现在 我需要在应用程序之间共享实体 这可能吗 如果有 是如何实施的 不 这是不可能的 然而 作为尼克 约翰逊 https stackoverflow
  • datetime.datetime.now() 返回旧值

    我正在通过匹配日期查找 python 中的数据存储条目 我想要的是每天选择 今天 的条目 但由于某种原因 当我将代码上传到 gae 服务器时 它只能工作一天 第二天它仍然返回相同的值 例如当我上传代码并在 07 01 2014 执行它时 它

随机推荐

  • BizTalk - 0 参数 Web 消息未在请求中发送

    我正在连接到 SOAP 1 1 Web 服务 不接受任何参数并返回一个简单的字符串响应 我已经使用旧的 NET 2 0 为复杂类型生成了 xsd 文件添加网页参考它还在 Reference odx 中生成了端口和多部分消息类型 在我的编排中
  • 如何将当前执行状态压入堆栈以便稍后继续执行?

    想象一个简单的语法 a ab c 其内容为 a 或 ab 后跟 c 解析树看起来像这样 and or c a ab 现在给它这个输入 abc 我们首先沿着树的左侧向下遍历 并匹配 a 然后返回上一层 由于 a 匹配 or 也为真 因此继续处
  • 从 mysql 数据库回显特定行

    我创建了一个表单 要求用户添加 名字 姓氏 位置 状态 一段时间后我收到了 5 个输入 mysql表名为users 表数据如下 id first name location status 1 Chris UK Married 2 Anton
  • 有没有办法在打字稿中定义新的(而不是别名)类型?

    如果我定义以下类型 type seconds number type milliseconds number 类型只有aliases并且以下语法不会引发任何错误 var x seconds 1 var y milliseconds x 虽然
  • 如何将泛型类型参数传递给 lambda 表达式?

    我有一个 lambda 表达式 它接受int 可为空整数 如果值存在则返回值或DBNull Value http msdn microsoft com en us library system dbnull value aspx否则 Fun
  • 将图像传递到控制器 ASP.NET MVC

    我正在尝试将 Image 和 ImageName 从视图发送到控制器 这是我的控制器的外观 HttpPost public ActionResult Add BoxAddViewModel image TODO Add new box re
  • postgresql 错误 PANIC: 无法找到有效的检查点记录

    当我加载 postgres 服务器 v9 0 1 时 我会出现恐慌 导致其无法启动 PANIC 无法找到有效的检查点记录 我怎样才能解决这个问题 Postgres 正在事务日志中查找可能不存在或已损坏的检查点记录 在您继续之前 你必须意识到
  • 当延迟加载模块被销毁时采取行动

    我有一个 Angular 6 应用程序 我懒惰地加载模块并通过路由器传递一些数据 进入模块后 我调用共享服务中的一个方法 并将这些数据 配置内容 传递给该方法 当该模块被销毁时 本质上是当用户离开该路径时 我需要调用一个方法 但我只想调用它
  • __ptr32 和 __ptr64 有什么意义?

    如中所述这篇 MSDN 文章 http msdn microsoft com en us library aa985900 28v vs 80 29 aspx 微软有这两种类型注释来声明不同架构上的本机指针 然而 在第二行 在 32 位系统
  • 返回这个|| (0,eval)('这个');

    查看 doT js 源代码 https raw github com olado doT master doT js https raw github com olado doT master doT js 这是做什么的 function
  • json数组:如何创建新的数组元素?

    我的目标是得到一个像这样的 json 数组 var args name test value 1 key test2 value 2 我怎样才能得到下面的代码来构建像上面一样的数组 this dependentProperties arra
  • “read/1”调用后 SWI Prolog 回溯行为

    我在看另一个序言 https stackoverflow com questions 47317413 how to use user input in prolog to search在StackOverflow上提问并遇到这种情况 假设
  • 音隙不起作用

    我已经从其网站下载了phonegap示例 但它没有运行 我找不到原因 请帮助我获得解决方案 当我运行时它显示 无法加载位于 file andriod asset www index html 的网页 找不到所请求的文件 www index
  • 如何将SIRI集成到iPhone应用程序中? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在开发一个 iPad 应用程序
  • 如何在 jQuery Ajax 成功回调中处理我的 JSON 数据?

    如果我有一个ajax调用 ajax url url dataType json data data success function json data What s the efficient way to extract the JSO
  • Babel:ES6 中的函数参数类型

    如果我编写以下代码并将其转译为通天塔 6 5 0 它工作正常 function foo first string second number code here string and number刚刚从转译的 ES5 代码中删除 如果我使用
  • C#、F#、IronPython 和 IronRuby 的集成

    有人告诉我 由 C 和 F 源代码生成的程序集文件是可以互操作的 因为它们被编译成 NET 程序集 Q1 这是否意味着 C 可以像调用 C 函数一样调用 F 函数 Q2 IronPython 和 IronRuby 怎么样 我没有看到来自 I
  • 一个或多个数组的加权洗牌?

    使用嵌套数组中的权重对一个或多个数组进行混洗的好算法是什么 Example array array array name gt John rank gt 3 array name gt Bob rank gt 1 array name gt
  • 判断 __getattr__ 是方法还是属性调用

    有什么方法可以使用 getattr 确定方法和属性调用之间的区别吗 I e in class Bar object def getattr self name if THIS IS A METHOD CALL Handle method c
  • 如何在 Google AppEngine 平台上访问 Fauxton?

    我正在 Google App Engine 上创建一个离线优先的应用程序 其中 PouchDB 作为我的本地数据库 CouchDB 作为我的远程数据库 我已在 Google AppEngine 上启用了 CouchDB 并尝试访问以下 UR