0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

crAPI 外部ホストからのアクセス許可方法

Posted at

外部ホストからcrAPIへアクセスさせる方法

経緯

某著を読んでcrAPIをセッティングしていました。
外部ホストからアクセスしてもうまくいきませんでした。
docker初心者なので、アクセスさせる方法がわかりませんでした。
切り分けのメモと対応結果を記載しています。

信頼しないホストからcrAPIホストへのアクセスは行わせないようにしましょう。

前提

  • crAPIを起動させたホストのIPアドレスがわかること
  • crAPIのリッスンポートを変更していないこと

なお、crAPIを起動させるホストをcrAPIホストと記載します。
crAPIへアクセスしたい外部ホストを外部ホストと記載します。

OSのファイアウォールで遮断されていないことの切り分け

OS側で止められているのか、docker側で止められているのかを切り分けます。

pingで疎通確認が取れること

pingをcrAPIホストのIPアドレスへ実行します。
応答があるのか確認します。応答がなければ適宜対処してください。

アクセスさせるための8888番ポートへ外部ホストから接続できること

OSのファイアウォールで8888番ポートへの接続が遮断されている可能性があります。
ncコマンドを用いて8888番ポートへのアクセスができることを確認します。なお、crAPIをstopさせたうえで実行しましょう。

ss -atnコマンドなどでポートがバインドされていないことを確認したうえで、ncコマンドを実行しましょう。
以下のコマンドをcrAPIホストで実行します。

nc -lp 8888

外部ホストからcrAPIホストの8888番ポートへ通信を行います。
ブラウザのURL欄にhttp://[crAPIホストIPアドレス]:8888と入力し、リクエストを送るとよいでしょう。
HTTPリクエストのメッセージが、crAPIホスト側で受信されていればOSのファイアウォールでは遮断されていないことがわかります。

HTTPリクエストのメッセージが表示されていないのであれば、OSのファイアウォールで遮断されている可能性があります。
SELinux/firewalld/iptablesなどの設定をしてみてください。

Docker側でのIPアドレス許可設定

portsオプションの設定を変更する。

https://docs.docker.com/compose/compose-file/compose-file-v3/#ports

crAPIをダウンロードしたディレクトリへ移動する。
(ダウンロードしたディレクトリによって変動します。)

cd ~/crAPI/deploy/docker

上記ディレクトリ内のdocker-compose.ymlファイルを編集します。事前にオリジナルファイルのコピーを生成しておきましょう。

//140行目
//編集前
 - "${LISTEN_IP:-127.0.0.1}:8888:80"

//編集後
 - "8888:80"

再度、crAPIを起動するとアクセスできるようになっているはずです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?