Home

リバースプロキシを使う

Node.js 製のWebアプリケーションでは、それぞれを独立したポートで起動しておき、Apachenginx などをリバースプロキシとして連携させるのが一般的な使い方でしょう。

LiuLianもこれを意識した設計となっており、

をリバースプロキシの構成に合わせて書き換える機能を持っています。

http://kobalab.net/liulian を LiuLian に割り当てる場合は以下の設定を行います。*1

LiuLian の起動オプション

--mount=http://kobalab.net/liulian を指定して起動します。

$ liulian --mount=http://kobalab.net/liulian ~/Documents/LiuLian

Apache の設定

mod_proxy、mod_redirect を有効にして以下の設定を行います。

ProxyRequests Off
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
ProxyPass /liulian/ http://127.0.0.1:3571/
Redirect /liulian /liulian/

ProxyPassReverseProxyPassReverseCookiePath の設定は不要です*2。 冗長に見えますが、Redirect の設定は必要です*3

nginx の設定

server レベルに以下の設定を行います。

    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $remote_addr;

    location /liulian/ {
        proxy_pass  http://127.0.0.1:3571/;
    }

locationproxy_pass/ で終端させてください。

  1. ^ LiuLian は http://127.0.0.1:3571 で動作しているものとします
  2. ^ LiuLianが自動で行います
  3. ^ これがないと LiuLianのトップのURLが / で終端せず、相対リンクが不正になってしまうため