NginxはHTTPSを使用しないとIPv6でリッスンしない

内部ネットワークにテストサーバーをセットアップしました(外部から到達できないため、Let’s Encrypt をセットアップできません)。IPv6 アドレスを持つサーバーで Nginx が IPv6 でリッスンしていないことがわかりました。コンテナ内の /etc/nginx/conf.d/discourse.conf には listen 80; と表示されますが、listen [::]:80; は表示されません。

別の本番サーバーでは、IPv6 で通常どおり到達できます。メタを検索して、テストサーバーの設定で何が間違っているのかを見つけました。最終的に、app.ymlweb.letsencrypt.ssl.template.ymlweb.ssl.template.yml を追加した場合にのみ、IPv6 を通常どおり使用できることがわかりました。その理由は、これらのファイルが Nginx 設定ファイルに listen [::]:80;listen [::]:443 ssl http2; を追加するためです。

チームは、HTTPS を使用しないインストールに IPv6 サポートを追加できます。つまり、web.template.ymllisten [::]:80; を追加します。

Discourse は HTTPS なしではほとんど機能しません。要求された機能は追加されない可能性があります。ただし、IPv6 を有効にするために含まれるものを確認するために SSL テンプレートを確認し、そのコードを独自のテンプレートまたは app.yml に追加できます。

「いいね!」 1

はい、app.yml にこのように追加したところ、機能しました。

hooks:
  after_web_config:
    - replace:
        filename: "/etc/nginx/conf.d/discourse.conf"
        from: /listen.+$/
        to: |
          listen 80;
          listen [::]:80;
「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.