私はGoで書かれた簡単なHTTPサーバーを持っています。nginxでGo HTTPサーバーを実行するには
開発中これは正常に動作しますが、このサーバーは一度に100個の要求を処理する必要があります。これはnginxのような適切なWebサーバーが必要です。
どうすればnginxの後ろに置くことができますか?
私はGoで書かれた簡単なHTTPサーバーを持っています。nginxでGo HTTPサーバーを実行するには
開発中これは正常に動作しますが、このサーバーは一度に100個の要求を処理する必要があります。これはnginxのような適切なWebサーバーが必要です。
どうすればnginxの後ろに置くことができますか?
シンプルなリバースプロキシ設定が必要だと思います。
あなたの行くのhttpサーバがhttp://example.com:8080
でリッスンしているとしましょう:
server {
listen 80;
server_name example.com;
location/{
proxy_pass http://example.com:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
ありがとう、私はreq.remoteAddrをやっているときに1つのこと127.0.0.1正しいIPを取得しています。 それを解決する方法はありますか? –
'X-Real-IP'ヘッダを探します。そこにremoteaddrを埋め込みます。 –
キープアライブを有効にするには、 'proxy_http_version 1.1;'と 'proxy_set_header Connection" ";'を追加することをお勧めします。それ以外の場合は、リクエストごとに新しい接続を開きます。参照:http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive – snap
は、Googleしてみましたか?はいの場合は、何を試してみましたか? –
シンプルで単純な解決策が見つかりませんでしたので、ここで紹介しました。 –
stdlibには、一度に100リクエスト以上処理できる "適切なWebサーバー"が含まれています。 – Danilo