HTTPS:SSL 証明書の設定中に発生した問題

こんにちは!

この素晴らしいチュートリアルに従って、Web サイトで HTTPS を有効にしようとしていました。アプリを再構築する ./launcher rebuild app を実行するまで、すべて順調に進みました。

原因を特定するために discourse-doctor を実行したところ、ついに何か見つかりました:

==================== END REBUILD LOG ====================
アプリの再構築に失敗しました。

ドメイン名を確認中 . . .

discourse.mydomain.com への接続に成功しました。
非標準のプラグインを削除して再構築することをお勧めします。
既存のコンテナの再起動を試行中 . . .

既存のコンテナを起動中
+ /usr/bin/docker start app
デーモンからのエラー応答:エンドポイント app (some_random_characters) での外部接続のプログラミングにドライバーが失敗しました:ユーザーランドプロキシの起動エラー:listen tcp 0.0.0.0:443: bind: アドレスは既に使用中
エラー:コンテナ app の起動に失敗しました
コンテナの再起動に失敗しました。

注:長い文字列を some_random_characters に、ドメイン名を discourse.mydomain.com に置き換えています。

これはかなり奇妙です。チュートリアルに忠実に従ったはずなので、どう対処すればよいかわかりません。

ご助力いただければ幸いです!

良い一日を、

nekodroid

さらなる診断のためには、app.yml を共有する必要があります。投稿する前に、機密性の高いメールアドレスやパスワードを削除してください。

---
env:
  DISCOURSE_DEVELOPER_EMAILS: myemailadress@maildomain.com
  DISCOURSE_HOSTNAME: discourse.mydomain.com
  DISCOURSE_SMTP_ADDRESS: stmp.eu.mailgun.org
  DISCOURSE_SMTP_PASSWORD: smtppasswordwithoutquotes
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: postmaster@discourse.mydomain.com
  LANG: en_US.UTF-8
  LETSENCRYPT_ACCOUNT_EMAIL: myemailadress@maildomain.com
  UNICORN_WORKERS: 2
expose:
  - "80:80"
  - "443:443"
hooks:
  after_code:
    -
      exec:
        cd: $home/plugins
        cmd:
          - "git clone https://github.com/discourse/docker_manager.git"
params:
  db_default_text_search_config: pg_catalog.english
  db_shared_buffers: 128MB
run:
  -
    exec: "echo \"カスタムコマンドの開始\""
  -
    exec: "echo \"カスタムコマンドの終了\""
templates:
  - templates/postgres.template.yml
  - templates/redis.template.yml
  - templates/web.template.yml
  - templates/web.ratelimited.template.yml
  - templates/web.template.yml
  - templates/web.ssl.template.yml
  - templates/web.letsencrypt.ssl.template.yml
volumes:
  -
    volume:
      guest: /shared
      host: /var/discourse/shared/standalone
  -
    volume:
      guest: /var/log
      host: /var/discourse/shared/standalone/log/var-log

こちらです〜

この部分は読みましたか?

どうやら Docker インストールに問題があるようです。

それに、なぜ app.yml の項目の順序を完全に書き換えてしまったのですか?

実はこのガイドを読んでいたのですが、コマンド wget -qO- https://get.docker.com/ | sh でつまずきました。記憶では「wget コマンドの使用方法が誤っています」と表示されたと思います。そのため次の手順に進み、./discourse-setup コマンドを入力すると Docker が自動的にインストールされたのを覚えています。

これがおそらく私の問題なのでしょう…

それでは、Discourse のインストールを最初からやり直して、このスレッドを更新します。

みなさん、ご親切にありがとうございました!:smiley_cat:

はい!ある時点で追加されました。いつ追加されたかはっきりしません。
無事に立ち上がってよかったですね。

ありがとう :uwu:

ところで、またエラーが発生しました!

discourse-setup の自動セットアッププログラムを実行し、プロンプトが表示された際に Let’s Encrypt の暗号化用のメールアドレスを追加しました。すると、以下のようなメッセージが表示されました:

Checking your domain name . . .
WARNING:: This server does not appear to be accessible at discourse.apertureproject.me:443.

A connection to http://discourse.apertureproject.me (port 80) also fails.

これによると、エラーはポートが開いていないことが原因のようですが、その解決方法が全くわかりません。また、暗号化なしでサイトを公開したくないので、Let’s Encrypt を無効化することはありません。

編集!

ホスティング業者(OVH)のドキュメントでポートを開く方法を見つけました。しかし、IP マネージャーが空になっており、ドキュメントのスクリーンショットによると、複数の IP アドレスが登録されているはずです。

すみません、フランス語ですが、ご覧の通り IP アドレスのリストは完全に空です。

実際に問題がない場合でもテストが失敗することがあります。そのため、どのような挙動になるか確認できます。

DNS は設定されていますか?いいえ。discourse.apertureproject.me が解決されません。HTTPS を利用するには、事前に DNS を設定する必要があります。

使用している OS とプラットフォームは何ですか?(一部ではデフォルトでポートが無効化されています)

コマンドラインで nc を実行すると「コマンドが見つかりません」と表示されますか?

さて、どうすればいいのでしょうか?

DNS レコードに関することは知っているのですが、値の種類などは何でしょうか?

ここでいう「値」とは、A、AAAA、NS などを指します。

すでに DNS サーバーのカテゴリに以下を追加しました:

ご協力いただき、本当にありがとうございます~ :smiley_cat:

ドロップレットの IP アドレスを指す A レコードが必要です。

それは済ませました。

別の質問ですが、以前はなかった問題が発生しています。apertureproject.me と入力すると、現在 nginx のウェルカムページが表示されてしまいます。

以前は Discourse の正常なインストールメッセージが表示されていました。

インストールページが開きます。これは正常です。お急ぎください。

それでは、どうやってインストールすればいいのでしょうか?わかりません。以前はこのページを見たことがありません。

すみません、私はまだ初心者なので…混乱しています :tired_face:

指示に従ってください。

30 分インストールガイドのことですか?それについては従いました。

いいえ、もう完了しています。現在は管理者登録のステップです。

ああ…まだよくわからないです x’( どうすればいいでしょうか?

ドメインを閲覧すると、何が表示されますか?

nginx へようこそ!

このページが表示されている場合、nginx ウェブサーバーが正常にインストールされ、動作しています。さらに設定が必要です。

オンラインドキュメントやサポートについては、nginx.org をご覧ください。

商用サポートは nginx.com でご利用いただけます。

nginx をご利用いただき、ありがとうございます。

いいえ、登録ページが表示されています。キャッシュとブラウザの履歴をクリアして、もう一度お試しください。