Open jam7 opened 7 years ago
websocketのライブラリがproxyに対応してない気がするので、ライブラリにプロキシ対応コードを入れる必要がある気がする。 ライブラリのソースコード自体は Narou.rb に内包してしまっているので、直接修正してしまうことは可能。 PRお待ちしています :)
websocketに接続するのは、クライアント側で動いているjsみたいですね。
直接動かす場合、clinet:narou.library.js → proxy → narou.rb
dockerの場合、client:narou.library.js → proxy → docker-host → narou.rb
みたいになりますね。このproxyの設定でwebsocketを跳ねていたみたいです。 squidのデフォルト設定では跳ねてしまうとか、色々難しい問題があるようです。 参考になりそうなエントリを以下に。
で、修正方法なんですが、以下になるようです。
後者をやってみたつもりなんですが、どうもうまくいっていません。 とまあ、状況更新でした。^^
Narou.rb の使っている websocket サーバライブラリは、SSL 未対応 つまり wss 使用不可
wss が使えるライブラリに入れ替える必要がある。しかも Windows を考慮すると、エクステンションのコンパイルが必要なネイティブなライブラリは不可なので、有名どころは無理(Railsで使ってるやつとか) 一応 pure Ruby で WebSocket ライブラリはあるっぽいから検討 関連 issue https://github.com/whiteleaf7/narou/issues/197
入れ替えたとしてもさらに Webrick で SSL を使えるようにする必要がある。 一応使えるが証明書関係で面倒くさい(オレオレ証明書でいいならわりかし簡単だが)
http_proxyを設定しているPCから、web UIに接続すると、web UIはhttpなので問題ないのですが、push_serverが違うようで、以下のメッセージが出て、まんなかの黒い部分に状況が表示されません。
no_proxyなどで直接見に行くようにすれば問題ないのですが、問題があるということだけ、報告しておきます。#164 の人も似たような話なのかもしれません。