サブドメインに応じて異なるバックエンドにトラフィックを転送する SSL プロキシとして Nginx を使用する必要があります。
複数の「server {」セクションを定義する必要があるように思われますが、SSL では正しく機能しません。これを行うと、https トラフィックを処理するまでサーバー名が不明であるため、最初の仮想ホストで常に SSL が処理されます。
シナリオ:
- 1 つの IP アドレス
- 1 つの SSL ワイルドカード ワイルドカード
次のようにアクセスする必要がある複数のバックエンド:
https://one.mysite.com/ -> http://localhost:8080 https://two.mysite.com/ -> http://localhost:8090
Nginx は「if」は悪だと言っています: http://wiki.nginx.org/IfIsEvilですが、他に何ができますか?
これを試しましたが、うまくいきません。500 エラーが発生しますが、エラー ログには何も記録されません。
server {
listen 443;
server_name *.mysite.com;
ssl on;
ssl_certificate ssl/mysite.com.crt;
ssl_certificate_key ssl/mysite.com.key;
location / {
if ($server_name ~ "one.mysite.com") {
proxy_pass http://localhost:8080;
}
if ($server_name ~ "two.mysite.com") {
proxy_pass http://localhost:8090;
}
}
Nginxでこれを達成した人はいますか? ヘルプ/代替案、リンクは大歓迎です。