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

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

ただいまの
回答率

90.75%

  • Ubuntu

    1248questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • Docker

    608questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

  • firewalld

    17questions

SSL(443ポート)でのアクセスができない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 498

stay

score 31

お名前VPSにて、Ubuntu 16.04をインストールしDocker-composeにてnginx-proxyを使ってマルチサイト構築を試してみたのですが
httpsでのアクセスができず、ご教授いただけると助かります。

ブラウザにて確認しましたところ、http(80)は正常でしたが、https(443)は接続できませんでした。
そこで、ポート開放が正常に行われているか確認するために、外部サイトからポート確認しましたがそちらでもhttps(443)はアクセスできませんでした。
確認したサイト:https://www.cman.jp/network/support/port.html

ファイアウォールの設定だと思い何度か試してみましたがうまくいきません。
2−3度 リブートも試しました

  • バージョン
    Ubuntu 16.04.3 LTS (Xenial Xerus)
    Docker version 17.09.0-ce, build afdb6d4
    docker-compose version 1.17.0, build ac53b73
ファイアウォール (ufw)
状態: アクティブ

To                         Action      From
--                         ------      ----
*****                      ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
443                        ALLOW       Anywhere    
  • sudo netstat -anltp | grep LISTEN
tcp        0      0 0.0.0.0:*****           0.0.0.0:*               LISTEN      1243/sshd       
tcp6       0      0 :::80                   :::*                    LISTEN      3040/docker-proxy
tcp6       0      0 :::443                  :::*                    LISTEN      3022/docker-proxy
tcp6       0      0 :::*****                :::*                    LISTEN      1243/sshd
  • docker ps
5374302bcbed | jrcs/letsencrypt-nginx-proxy-companion | 
8c2d84295ecf | php:apache | 80/tcp
1889f139ec75 | jwilder/nginx-proxy | 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp
  • docker-compose.yml
    LetsEncryptのホスト情報とメールアドレスはダミーですが、/certs/の中には証明書が出来ています。
version: "2"
services:
  proxy:
    image: jwilder/nginx-proxy
    container_name: unimatrix_zero_proxy
    networks:
      - unimatrix_zero
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./certs:/etc/nginx/certs:ro
      - /etc/nginx/vhost.d
      - /usr/share/nginx/html
      - /var/run/docker.sock:/tmp/docker.sock:ro
    restart: always
    logging:
      options:
        max-size: 5m
        max-file: "10"
    privileged: true
  letsencrypt-nginx-proxy-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: alpha_quadrant
    volumes:
      - ./certs:/etc/nginx/certs
      - /var/run/docker.sock:/var/run/docker.sock:ro
    volumes_from:
      - proxy
    restart: always
    networks:
      - unimatrix_zero
  web:
    image: php:apache
    container_name: jonathan_archer
    environment:
      VIRTUAL_HOST: example.com
      LETSENCRYPT_HOST: example.com
      LETSENCRYPT_EMAIL: my@example.com
    restart: always
    volumes:
      - ./DocumentRoot:/var/www/html
    logging:
      options:
        max-size: 5m
        max-file: "10"
    privileged: true
    networks:
      - unimatrix_zero
networks:
  unimatrix_zero:
    external: true

追記 2017/11/18
前述のdocker-compose.ymlファイルにあるwebのconfファイルを確認しました

/etc/apache2/sites-enabled

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • momf

    2017/11/17 15:22

    ポート80ではwebページがちゃんと表示できるのですか?

    キャンセル

  • stay

    2017/11/17 15:42

    ありがとうございます。わかりづらく箇所があったので加筆しました

    キャンセル

  • xenbeat

    2017/11/17 20:38 編集

    webコンテナのapacheのconfを追記してください。

    キャンセル

  • stay

    2017/11/18 15:31

    ありがとうございます。apacheのconfを記載しました。確かにsslの記載はありませんでしたのでこちらが原因かなと…

    キャンセル

回答 1

checkベストアンサー

0

確認しました。confの追記ありがとうございます!
ご利用のDockerイメージ詳細がわからないですが、
「php:apache」のconfが443をListenしていないだけのようですね。
「jwilder/nginx-proxy」はdocker.sockを監視してwebコンテナが起動するとnginxのconfは自動的に書き換えてくれてくれるっぽいので、apacheには443でリクエストはされているように思います。
なのでapacheのconfを443で受け付けるように設定してみてください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/20 14:44

    ご教授ありがとうございます。すいませんまだ試せてませんが
    先んじてお礼させて頂きます。「php:apache」のコンテナに関しては公式のPHPのコンテナとなり
    phpのバージョン分けた環境を作りたいと思いその試験の為に選んだものとなりますので基本デフォルトでございました。/etc/apache2/sites-availableにsslの設定ファイルもありましたので参考に設定してみます

    キャンセル

  • 2017/11/20 19:28

    コメントありがとうございます!
    お試しいただき解決いたしましたら、お手数ですがクローズいただけますと幸いです。

    キャンセル

  • 2017/11/21 14:07

    ありがとうございます。確認できましたありがとうございます。
    ベストアンサーとさせて頂きますありがとうございました!

    キャンセル

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

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

関連した質問

同じタグがついた質問を見る

  • Ubuntu

    1248questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • Docker

    608questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

  • firewalld

    17questions