当前位置: 首页 > 知识库问答 >
问题:

AppEngine-本地开发服务器与https

公良信然
2023-03-14

目标:通过使用AppEngine开发服务器减少开发反馈周期。对于我的使用,这必须作为公共HTTPS地址提供。应用程序引擎开发服务器仅支持HTTP。

如何做到这一点:使用ngrok将本地开发环境公开为https公共可用地址。

反向代理与nginx从https到超文本传输协议。

这似乎是可能的,但我的生活我没有得到配置工作。

我正在osx上使用应用程序引擎标准Java。

欢迎其他工作解决方案或想法。肯定有办法做到这一点。

共有3个答案

宇文飞羽
2023-03-14

ngrok支持到任何http端口的https URL,因此您可以使用ngrok将https域代理到GAE dev服务器端口

如果您有付费帐户,您可以设置CNAMEs以使用您自己的域

ngrok http -hostname=dev.example.com 8080
闾丘高峰
2023-03-14

我使用NGINX作为代理与自我签名证书为我的项目https://debtstracker.io/

这是我的NGINX配置。您还需要在项目中添加一些。本地记录到主机文件中。

    server {  # This servers dynamic content of DebtsTracker.io project over HTTPS
            listen          443;
            server_name     debtstracker.local;
            ssl                  on;
            ssl_certificate      /etc/ssl/certs/debtstracker-local.crt;
            ssl_certificate_key  /etc/ssl/private/debtstracker-local.key;

            location /app/ {
                    proxy_pass   http://localhost:8100/;
                    proxy_set_header Host $http_host;
            }

            location / {
                    proxy_pass   http://127.0.0.1:8080;
                    proxy_set_header Host $http_host;
            }
    }

第一个位置用于GAE devserver,第二个位置用于Ionic项目。

下面是我用来生成证书的bash文件:

#!/usr/bin/env bash
# https://www.accuweaver.com/2014/09/19/make-chrome-accept-a-self-signed-certificate-on-osx/

# https://gist.github.com/jessedearing/2351836

# Run using "sudo"

echo "Generating an SSL private key to sign your certificate..."
openssl genrsa -des3 -out debtstracker-local.key 1024

echo "Generating a Certificate Signing Request..."
openssl req -new -key debtstracker-local.key -out debtstracker-local.csr

echo "Removing pass-phrase from key (for nginx)..."
cp debtstracker-local.key debtstracker-local.key.org
openssl rsa -in debtstracker-local.key.org -out debtstracker-local.key
rm debtstracker-local.key.org

echo "Generating certificate..."
openssl x509 -req -days 365 -in debtstracker-local.csr -signkey debtstracker-local.key -out debtstracker-local.crt

echo "Copying certificate (debtstracker-local.crt) to /etc/ssl/certs/"
mkdir -p  /etc/ssl/certs
cp debtstracker-local.crt /etc/ssl/certs/

echo "Copying key (debtstracker-local.key) to /etc/ssl/private/"
mkdir -p  /etc/ssl/private
cp debtstracker-local.key /etc/ssl/private/

希望这能有所帮助。我花了一段时间来设置这个。

江鸿羲
2023-03-14

如果你只有一个模块需要通过SSL联系,你可以简单地使用这个模块https://github.com/cameronhunter/local-ssl-proxy.安装和使用非常简单。只需将目标端口更改为模块端口,然后通过https到源端口进行浏览。如果您需要访问多个模块,您需要使用不同的参数(端口)多次运行它。

 类似资料:
  • 我无法在本地AppEngine开发服务器上运行Google Endpoints Framework V2。 为了演示一个问题,我创建了一个gradle演示项目,如果部署到真正的AppEngine标准环境实例中,它可以正常工作,但不能用于本地开发服务器。 null 2017年1月24日7:25:40 PM com.google.appengine.tools.development.devappse

  • SRS不支持服务器端脚本,所谓服务器端脚本,指的是服务器可以加载外部脚本文件,解释并执行。 支持服务器脚本的服务器有FMS,语言是actionscript1.0;nginx支持的是lua。 SRS不支持服务器脚本的原因有: 不Simple:违反了SRS(Simple RTMP Server)的第一个S,支持扩展脚本,出错的几率也扩展了。 实际用处很小:我在国内知名的CDN公司工作时,所在部门就是用

  • C:\用户\跨度t 2\下载\apache-cassandra-3.11.5\bin 启动 Cassandra 服务器 C:\用户\跨度t 2\下载\apache-cassandra-3.11.5\bin 连接错误:('无法连接到任何服务器',{'127.0.0.1':错误(10061,"尝试连接到[('127.0.0.1',9042)]。最后一个错误:无法进行连接,因为目标机器主动拒绝它")})

  • 我一直在将泽西v2.19与Google AppEngine v1.9.22一起使用,它在本地devserver中运行良好,没有任何问题,但当我尝试将应用程序部署到appEngine时。我得到了多个异常 使用的框架: AppEngineJava1.9.22 泽西2.19 具体化5.1.5 Guice 3. x 格拉德勒 以下是我在日志中得到的例外: org.glassfish.jersey.inte

  • 在GAE建立一个网站。我在dev服务器上做了大部分工作,在那里我有一个数据库。在我的开发服务器中,我在UTF-8中插入了实体,因为如果我不这样做,值就不会被写入。然而,这让我不得不使用,以便用jinja2正确显示它们。我知道GAE数据存储只使用UNICODE,所以我可以预见我现在面临的问题。 所以,我使用了来获取我的dev数据存储的备份。 现在的问题是当我尝试更新到服务器。 要么我用: appcf

  • 在开发机的Web服务器上托管一个站点,然后在Android设备上访问站点内容。 通过USB数据线和Chrome DevTools,您可以在开发机上运行站点,然后在Android设备上查看该网站。 TL;DR 端口转发可以使你在Android设备上查看开发机Web服务器中的内容。 如果你的Web服务器使用自定义域,您可以将Android设备设置为使用自定义域映射访问该域中的内容。 设置端口转发 端口