unageanu / jiji2

Forex algorithmic trading framework using OANDA REST API.

Home Page:http://jiji2.unageanu.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jiji_nginxの停止

pr0ndisk opened this issue · comments

コンテナの作成には成功するのですが、sudo docker ps -aで見てみますと停止しており、
sudo docker logs jiji_nginxのログで、

2017/08/11 12:30:15 [emerg] 1#1: PEM_read_bio_X509_AUX("/etc/nginx/cert/ssl.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/cert/ssl.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)

この様な表示がされます。自己署名の作成が失敗しているのでしょうか?

環境はWin10にCentOS7です。

証明書を一旦別の名前に変更して再起動すれば、判断できるかと思います。

・同じエラーが出る: 証明書のファイルパス指定が不正で、読み込めていない
・別のエラーになる: 証明書が不正 (証明書の作成に失敗している?)

同じエラーが出たのでdocker-compose.ymlを確認したら相対パスと絶対パスの指定が間違っていたようです。
証明書の場所
/etc/ssl/certs/jiji/

- /etc/ssl/certs/jiji/server.crt:/etc/nginx/cert/ssl.crt:ro
- /etc/ssl/certs/jiji/server.key:/etc/nginx/cert/ssl.key:ro

に修正した所、
2017/08/11 13:03:15 [emerg] 1#1: host not found in upstream "jiji" in /etc/nginx/conf.d/default.conf:14
このようなエラーが発生します。

恐らくですが、ホスト名の解決がうまくいっていないように思います。
docker-compose.yml の内容はどうなっていますでしょうか?

jiji:
container_name: jiji_jiji_eu
image: unageanu/jiji:latest
links:
- mongodb
environment:
# サーバー内部で秘匿データの暗号化に使うキー
# 必ず変更して使用してください。
# UIから入力を求められることはないので、任意の長い文字列を使用すればOKです。
USER_SECRET: e4cceb3791f2cce9ef6e4f64d2428ad19bdb4649

mongodb:
container_name: jiji_mongodb_eu
image: mongo:3.0.7
ports:
# MongoDBのポート番号
# 必要に応じて変更してください。
- "27036:27034"

volumes:

# MongoDBのデータを保存するディレクトリ
# デフォルトでは、コンテナ内に作成します。(この場合、コンテナを再作成すると、データが初期化されます)
# コメントアウトしてパスを設定することで、ホストマシンの任意のディレクトリに変更することができます。
# './' で始めることで、docker-compose.ymlからの相対パスで指定可能です。
# - ./path/to/data/dir:/data/db

nginx:
container_name: jiji_nginx
image: unageanu/jiji-nginx:latest
links:
- jiji
ports:
# Jijiのポート番号
# 必要に応じて変更してください。
- "8443:443"
volumes:
# SSL証明書のパス
# './path/to/server.crt' にサーバー証明書、
# './path/to/server.key' に秘密鍵を指定します。
# './' で始めることで、docker-compose.ymlからの相対パスで指定可能です。
- /etc/ssl/certs/jiji_eu/server.crt:/etc/nginx/cert/ssl.crt:ro
- /etc/ssl/certs/jiji_eu/server.key:/etc/nginx/cert/ssl.key:ro

SSL無しで起動させているので、コンテナ名を変更しています。

この設定であれば動きそうな気がしますが・・・・。
原因はちょっとわからないですねー。

何故か今やったら無事に起動しました。ちょっと原因は分かりません。
あとOanda europeのアカウントなので、安定稼働するかも分かりません。

トークンを入力後のログ画面が気になります。

E, [2017-08-12T14:43:22.361718 #1] ERROR -- : An error as occured while processing response. Status 401
{
"code" : 4,
"message" : "The access token provided does not allow this request to be made",
"moreInfo" : "http://developer.oanda.com/docs/v1/auth/#overview"
} (OandaAPI::RequestError)
/usr/local/bundle/gems/oanda_api-0.9.5/lib/oanda_api/client/client.rb:124:in rescue in execute_request' /usr/local/bundle/gems/oanda_api-0.9.5/lib/oanda_api/client/client.rb:108:in execute_request'
/usr/local/bundle/gems/oanda_api-0.9.5/lib/oanda_api/client/namespace_proxy.rb:107:in method_missing' /app/jiji2/src/jiji/model/securities/internal/oanda/rate_retriever.rb:19:in retrieve_current_tick'
/app/jiji2/src/jiji/model/trading/brokers/abstract_broker.rb:30:in tick' /app/jiji2/src/jiji/model/trading/brokers/abstract_broker.rb:152:in refresh'
/app/jiji2/src/jiji/model/trading/jobs/notify_next_tick_job.rb:22:in before_do_next' /app/jiji2/src/jiji/model/trading/jobs/notify_next_tick_job.rb:16:in exec'
/app/jiji2/src/jiji/model/trading/process.rb:37:in do_next_job' /app/jiji2/src/jiji/model/trading/process.rb:30:in run'
/app/jiji2/src/jiji/model/trading/process.rb:24:in block in start' /usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:67:in call'
/usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:67:in execute' /usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:405:in block (2 levels) in spawn_thread'
/usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:372:in loop' /usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:372:in block in spawn_thread'

あと、相変わらずですが通貨以外のペアで、
E, [2017-08-12T14:44:56.946103 #1] ERROR -- : counter pair is not found. pair=5EURUSD (RuntimeError)
/app/jiji2/src/jiji/model/trading/utils/counter_pair_resolver.rb:57:in resolve_required_pairs' /app/jiji2/src/jiji/model/trading/utils/counter_pair_resolver.rb:45:in resolve_rate'
/app/jiji2/src/jiji/model/trading/utils/counter_pair_resolver.rb:72:in resolve_rate' /app/jiji2/src/jiji/model/trading/utils/pricing_utils.rb:22:in calculate_current_counter_rate'
/app/jiji2/src/jiji/model/trading/internal/position_internal_functions.rb:39:in update_price' /app/jiji2/src/jiji/model/trading/positions.rb:43:in block in update_price'
/app/jiji2/src/jiji/model/trading/positions.rb:41:in each' /app/jiji2/src/jiji/model/trading/positions.rb:41:in update_price'
/app/jiji2/src/jiji/model/trading/brokers/rmt_broker.rb:71:in reload_positions' /app/jiji2/src/jiji/model/trading/brokers/rmt_broker.rb:55:in update'
/usr/local/lib/ruby/2.2.0/observer.rb:196:in block in notify_observers' /usr/local/lib/ruby/2.2.0/observer.rb:195:in each'
/usr/local/lib/ruby/2.2.0/observer.rb:195:in notify_observers' /app/jiji2/src/jiji/model/securities/securities_provider.rb:27:in set'
/app/jiji2/src/jiji/model/settings/securities_setting.rb:54:in block in set_active_securities' /app/jiji2/src/jiji/model/trading/jobs/job.rb:36:in call'
/app/jiji2/src/jiji/model/trading/jobs/job.rb:36:in call' /app/jiji2/src/jiji/model/trading/jobs/job.rb:13:in exec'
/app/jiji2/src/jiji/model/trading/process.rb:37:in do_next_job' /app/jiji2/src/jiji/model/trading/process.rb:30:in run'
/app/jiji2/src/jiji/model/trading/process.rb:24:in block in start' /usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:67:in call'
/usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:67:in execute' /usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:405:in block (2 levels) in spawn_thread'
/usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:372:in loop' /usr/local/bundle/gems/thread-0.2.2/lib/thread/pool.rb:372:in block in spawn_thread'

のメッセージが。

放っておくとHerokuのmangodbのログがみるみるうちに埋まってしまうので、
家のPCで稼働させようと思ったのですが、なかなか大変です。

しばらく動かしてみてどうか、報告致します。