Appengine – 使用https的本地开发服务器

目标:使用App Engine dev服务器减less开发 – 反馈周期。 对于我的使用,这必须作为一个公共的HTTPS地址。 App Engine dev服务器仅支持HTTP。

如何执行此操作:使用ngrok将本地开发环境公开为https公共可用地址。

反向代理从https到http的nginx

这似乎是可能的,但对我来说,我没有configuration工作。

我在OSX上使用App Engine Standard Java。

其他工作解决scheme或想法,欢迎。 当然有办法做到这一点。

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

这是我的NGINX配置。 您还需要将一些yourproject.local记录添加到主机文件中。

  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,第二个是离子项目。

这里是我用来生成证书的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/ 

希望这可以帮助。 花了我一段时间来设置。

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

ngrok支持https到任何http端口,所以你可以使用ngrok代理https域到GAE dev服务器端口

如果您有付费账户,则可以设置CNAME以使用您自己的域名

 ngrok http -hostname=dev.example.com 8080