SSLのリバースプロキシが欲しかったのでメモ
HTTPS -> GAE (myproject.appspot.com) -> HTTP -> GCE (198.51.100.1:8080)
という構成。
npm初期化してhttpとhttp-proxyをインストール
$ npm init $ npm install http --save $ npm install http-proxy --save
で、下記のファイルを用意
app.yaml
runtime: nodejs8
index.js
const http = require('http'); const httpProxy = require('http-proxy'); const port = process.env.PORT || 8080; httpProxy.createProxyServer({target: 'http://198.51.100.1:8080/'}).listen(port);
package.json
package.jsonはnpm initで作るとして、起動時にindex.jsを実行したいので下記のようにscriptsフィールド内でindex.jsを指定する。
"scripts": { "start": "node index.js" },
あとはこれをAppEngineにデプロイ。
$ gcloud app deploy
そしてSSLで https://myproject.appspot.com/ にアクセスするとリクエストが http://198.51.100.1:8080/ にフォワードされる。