質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.01%

ポートは開いているのに外からhttps接続できない

解決済

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 1,063

sincek422

score 7

 前提・実現したいこと

centos7.4 でWEBサーバ(nginx1.13.5)、APサーバ(golang1.10.3-revel0.19)、DBサーバをDockerコンテナで構築しWEBサーバにhttpsで接続後、連携するAPサーバの処理結果を返却したいのですがhttpsで接続できず困っております。
httpsで接続できない理由を調べる方法をご教授頂けますでしょうか。

■現在のDocker構成
[appusr@hoge dev]$ docker-compose ps
   Name                Command             State                    Ports
-------------------------------------------------------------------------------------------
dev2_app_1   revel run mybooking           Up      0.0.0.0:9000->9000/tcp
dev2_db_1    docker-entrypoint.sh mysqld   Up      3306/tcp
dev2_web_1   nginx -g daemon off;          Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp

 発生している問題・エラーメッセージ

DockerコンテナがあるCentos7上で、wget https://www.test.com/ とするとレスポンスが帰ってくるのですが、外部からwgetやブラウザでアクセスするとレスポンスが帰ってきません。

■centos7上でのwget結果 ※レスポンス200なので証明書の設定は問題ないように思えます
[appusr@hoge dev2]$ wget https://www.test.com
--2018-08-06 10:25:16--  https://www.test.com/
Resolving www.test.com (www.test.com)... 140.999.999.999
Connecting to www.test.com (www.test.com)|140.999.999.999|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35 [text/html]
Saving to: ‘index.html’

外からwgetやtelnetをすると、ポート443が開いていない旨のメッセージが出力されます。

■wgetの結果
$wget https://www.test.com
--2018-08-03 16:57:14--  https://www.test.com/
www.test.com をDNSに問いあわせています... 140.999.999.999
www.test.com|140.999.999.999|:443 に接続しています... 失敗しました: 接続がタイムアウトしました.

■telnetの結果
C:\Users\tarou>telnet www.test.com 443
接続中: www.test.com...ホストへ接続できませんでした。 ポート番号 443: 接続に失敗しました

しかしながら、開いているポートを確認すると443はちゃんと開いています。

■nmap結果(ポートとサービスの確認)
[appusr@hoge log]$ nmap 140.999.999.999
Starting Nmap 6.40 ( http://nmap.org ) at 2018-08-06 09:57 JST
Stats: 0:00:00 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 1.00% done; ETC: 09:57 (0:00:00 remaining)
Nmap scan report for 140-999-999-999.vpscloud.static.arena.ne.jp (140.999.999.999)
Host is up (0.0014s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
9000/tcp open  cslistener
Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds

■lsof結果(ポートとプロセスの確認)
[appusr@hoge log]$  sudo lsof -i:443
[sudo] password for appusr:
COMMAND     PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
docker-pr 11806 root    4u  IPv6 4552081      0t0  TCP *:https (LISTEN)

 webサーバの設定ファイルは以下のようになっています

server {
    listen 80;
    access_log /var/log/nginx/www.test.com/access_log;
    error_log  /var/log/nginx/www.test.com/error_log;

    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name www.test.com;

    access_log /var/log/nginx/www.test.com/ssl_access_log;
    error_log  /var/log/nginx/www.test.com/ssl_error_log;

    ssl_certificate /etc/pki/tls/certs/www.test.com2018_combined.crt;
    ssl_certificate_key /etc/pki/tls/private/www.test.com2018.key;

    ssl on;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!EXPORT:!DES:!3DES:!MD5:!DSS";

    location / {
        proxy_pass           http://app:9000;
    }
}

 試したこと

centos7なのでfirewalldの設定が問題かと思い、
無効にしてhttps接続を確認しましたが、接続不可のままでした。
$systemctl stop firewalld
外からhttpsでアクセスできない理由、もしくは調べる方法をご教授頂けますでしょうか。

 補足情報(FW/ツールのバージョンなど)

dockerとdocker-compose のバージョンは以下になっています。
[appusr@hoge dev]$ docker version
Client:
Version:           18.06.0-ce
API version:       1.38
Go version:        go1.10.3
Git commit:        0ffa825
Built:             Wed Jul 18 19:08:18 2018
OS/Arch:           linux/amd64
Experimental:      false

Server:
Engine:
Version:          18.06.0-ce
API version:      1.38 (minimum version 1.12)
Go version:       go1.10.3
Git commit:       0ffa825
Built:            Wed Jul 18 19:10:42 2018
OS/Arch:          linux/amd64
Experimental:     false

[appusr@hoge dev]$ docker-compose -v
docker-compose version 1.21.2, build a133471

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • namda

    2018/08/06 11:25

    http(80ポート)では表示できますか?

    キャンセル

  • sincek422

    2018/08/06 13:08

    はい、httpでは表示できます

    キャンセル

  • namda

    2018/08/06 14:37

    PHP、Ruby、Pythonなどインストールされてますか?されてる場合、一旦nginxを止めて443ポートでビルドインサーバを起動させ443ポートにアクセス出来るか見てみてください。それでアクセスできればnginxの設定に原因を絞れます。

    キャンセル

回答 2

check解決した方法

0

VPS会社をwebarenaから、さくらに変えたところ全く同じシステム構成で動作できました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

お使いのサーバの形態はどうなってるんでしょうか。
クラウドサーバなんかでは別付けでファイアウオールがつくものが多いようですが、そこらの設定も必要かと思われますが

#自宅サーバならルータの設定

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/08/06 13:29

    クラウドサーバを利用しています。ただサービス提供会社に問い合わせをしたところ、443ポートは特に制限していないとのことでした

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.01%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる