バーチャルホストの振り分けで、振り分け先の一つにネイキッドドメインを指定したい(前提:Docker上のNginxのリバースプロキシを利用する)

解決済

回答 1

投稿

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

darumausagi

score 10

サイト運営を目標に現在勉強中です。
浅学ゆえの未熟な質問、ご容赦ください。
ご助力いただけますと大変助かります。

実現したいこと

・ブラウザからアクセスするときに、ウェブサイト全体をhttpsでアクセスできるようにしたい
・サイトを以下のイメージで構成したい

  https://aaa.com/       ……ポータルサイトなイメージで、サブドメインの各サイトへのリンクなどを表示したい
   ├https://sub1.aaa.com/ ……サブドメイン(1)
   ├https://sub2.aaa.com/ ……サブドメイン(2)
   ├https://sub3.aaa.com/ ……サブドメイン(3)
   :
   :


・それぞれ、同一のVPS内のDockerのコンテナで構成したい
・DockerでNginx(リバースプロキシ)を利用したい

環境

<利用サービス>
ドメイン:ムームードメイン
DNS:Gehirn DNS
VPS:さくらのVPS
メール:さくらのメールボックス
※利用はまだですが、さくらのクラウドは必要であれば、利用可能です。

<バージョン>
OS
CentOS Linux release 7.6.1810 (Core)

Docker
Docker version 19.03.1
docker-compose version 1.14.0 

現状

・上記目標の第一歩として、下記記事を参考(ほぼ丸写し)に、コンテナを作成しました。
https://www.kagoya.jp/cloud/vps/tutorial/06.html
・その結果、サブドメインでのhttpsアクセスはひとまずできました。
が、https://aaa.com/でアクセスすると「保護されていないページ」となり(おそらく証明書エラーが原因だと思います)、
http://aaa.com/でアクセスすると、「503 Service Temporarily Unavailable」となりました。
・振り分け先にネイキッドドメイン(wwwなしの独自ドメイン)のコンテナを作って、振り分ければ、とりあえずの表示はできる?という単純な発想のもと、下記のdockerfileを作って、コンテナをupしました。

version: '2'
services:
  web:
    image: nginx
    container_name: web1
    environment:
      VIRTUAL_HOST: aaa.com
      VIRTUAL_PORT: 443
      VIRTUAL_PROTO: https
      LETSENCRYPT_HOST: aaa.com
      LETSENCRYPT_EMAIL: postmaster@aaa.sakura.ne.jp
      LETSENCRYPT_TEST: "false"
      PROFILE: aaa.com
      FQDN: aaa.com
      WPLANG: ja
      BCACHE: "on"
      FCACHE: "on"
    logging:
      driver: syslog
    restart: always
networks:
  default:
    external:
      name: common_link


・上記のコンテナを作成後、docker ps -aで確認すると、作成したコンテナは全部upのステータスでした。
・少し時間を待って、https://aaa.com/にアクセスすると証明書はインストールされた状態でしたが、502エラーが表示されました。
※http://aaa.com/でアクセスすると自動的にhttps://aaa.com/に転送されます。

わからないこと・つまずいているところ

■https://aaa.com/でアクセスしたときにページが表示されるためにどのような設定やファイルの作成を行えばよいのか、わかっていません…
(1)ネイキッドドメインをバーチャルホストの振り分け先にすることは可能か、不可能かがわかっていない
→単純に考えた解決方法は、上記なのですが、502エラーが表示されているので(404とかではないので)、サーバー側に設定ミスがあるという意味であると認識しています。ただ、どこを修正したら直せるのかが見当もついておりません。
Nginxでリバースプロキシを構成して、バーチャルホストで振り分けて…というときに、
振り分け先にネイキッドドメイン(wwwなしの独自ドメイン)のまま、振り分けることはそもそも不可能なのでしょうか。
バーチャルホストの振り分けで検索すると、サブドメインで振り分ける設定はたくさん表示されるのですが、
ネイキッドドメインを振り分け先に指定しているものが見つけられなかったので、そういう可能性もあるのかなと考えています。

(2)ネイキッドドメインをバーチャルホストの振り分け先にすることは可能の場合、どのような設定などを行えばそれが可能なのかわからない
→もし、ネイキッドドメインをバーチャルホストの振り分け先にすることが可能な場合、どのような設定を行えば可能でしょうか。
上記の試行では、振り分け先にNginxのwebを適当に作成してみているのですが、ネイキッドドメインのサイトで実現したいことはいくつかの静的なhtmlのページが表示できれば構わない程度なので、Nginxでなければなどといったこだわりはないです。

(3)ネイキッドドメインをバーチャルホストの振り分け先にすることが不可能の場合、目標を達成するにあたってどのような代替手段があるかわからない
→ネイキッドドメインのサイトで実現したいのはあくまでポータルサイト的位置づけなので、メインとなる各サブドメインのページのようにアクセス分散できなくても想定アクセス数的に構わないと考えています(アクセス分散の対象となるに越したことはないですが)
その場合にバーチャルホストの振り分けを用いずに、WEB表示を可能にする代替手段などはありますでしょうか。

何卒よろしくお願いいたします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

check解決した方法

0

証明書の適用はまだできていませんが、バーチャルホストの振り分けは当初の目標通りにできましたので、クローズとします。
参考記事は下記になります。
ほとんど記事の通りに作成することで、httpアクセスはできました。
(ドメイン設定については、CNAMEではなくAレコードの追加で振り分け可能でした)
https://blog.masuqat.net/2016/09/02/dns-record-for-docker-nginx-proxy/
https://blog.masuqat.net/2016/09/06/docker-nginx-proxy-and-docker-compose/

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

  • ただいまの回答率 90.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる
  • トップ
  • nginxに関する質問
  • バーチャルホストの振り分けで、振り分け先の一つにネイキッドドメインを指定したい(前提:Docker上のNginxのリバースプロキシを利用する)