##追記
二つ疑問に思ったのですが、
・TCP
でつなぐ際に傍受の危険性はないのでしょうか?(普通にTCP
でつないだ場合暗号化が無いと怖い気がする)
・調べているとwebsoket
という技術があるようですが、nginx
とunicorn
をwebsoket
で繋ぐ事はできないのでしょうか?
websoket
はコネクションを繋ぎっぱなしである場合TCP
の上位互換の様に見受けられました。unicorn
とnginx
のやり取りは高速な双方向通信が望ましい気がするのでwebsoket
が適しているのかなと思った次第です。
知識が足りず大変恐縮ですが、お知りの方がいらっしゃいましたらご教示頂けると幸いです。
##疑問
・nginx
(WEBサーバ)とunicorn
(APサーバ)を現在同一のサーバーの中で連携させrailsで使用していますが、違うサーバーに分けて(物理的に分かれている二台のサーバー)運用しようと思った際はどのようにすればよいのでしょうか?
・またその通信のプロトコルはどのようになっているのでしょうか?
(TCPコネクションがずっと繋がっている?)
##詳細
一つのサーバーにどちらも入れている現在、nginxとunicornを連携させるときnginx設定ファイルに
nginx/conf.d/local.conf
upstream unicorn { server unix:/var/www/app/deploy_app/shared/sockets/unicorn.sock; }
のような記述をしました。
これはUNIXドメインソケットを用いたつなぎ方かと思います。
ただUNIXドメインソケットは同一オペレーションシステム上のプロセス間通信であり、サーバーが分かれた場合(違うOS上で動いている者同士)使用できないと考えます。
とすると
nginx/conf.d/local.conf
upstream unicorn { server 192.168.39.11:5555 }
config/unicorn.rb
listen 5555
のように書いてTCP通信をするのかな?と思ったのですがこれではunicornがおかれたサーバーに対し5555ポートで接続しようとするとみんなつないでしまう気がします。
そもそもTCPを繋ぎっぱなしにするなんてあんまりあり得ない気がします。(速度もとっても遅くなってしまいそう)
そして途方にくれています・・・。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/12 02:24