セルフチェックは、証明書が発行される前に行われます。
iptablesについてはどうですか?
Oracleのトライアルインストールガイドの例をご覧ください:Install Discourse on Oracle Cloud Free Tier
ログを確認できます。
/var/log/nginx/error.log
/var/log/apache2/error.log
/var/log/nginx/access.log
/var/log/apache2/access.log
/var/log/syslog
/var/log/dmesg
Docker を使用していない場合は、docker logs your-container (または) ログファイルから Discourse のログを確認してください。
ここでは考えられる問題が多すぎます。
- DNS または SSL の問題 (より一般的)。
- ファイアウォール、ルーティング、またはネットワークの構成ミス。
- データベース、キャッシュ、Discourse サービス。
ログまたは詳細情報がないと、これ以上の助言はほとんど不可能です。
次の手順は、証明書ファイルを ssl.crt として保存し、ssl by category.key をサーバーディレクトリ /var/discourse/shared/standalone/ssl/ssl.crt および /var/discourse/shared/standalone/ssl/ssl.key にドラッグするのと同じくらい簡単です。
提示された例を確認しました。すべての手順に従いました。
唯一の違いは、netfilter-persistent save を実行したときに、例では run-parts: ... のような応答が表示されるのに対し、何も応答がないことです。

Discourse を最初から再インストールし、その前に次の 2 つの iptables を実行しました。
iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
この問題が発生しました。
ポート 80 および 443 は自由に使用できます
‘samples/standalone.yml’ → ‘containers/app.yml’
2GB のメモリと 1 つの物理 CPU コアが見つかりました
db_shared_buffers = 256MB を設定しています
UNICORN_WORKERS = 4 を設定しています
containers/app.yml メモリパラメータが更新されました。
Discourse のホスト名ですか? [discourse.example.com]: mywebsite.fr
ドメイン名の確認中 . . .
警告: ホスト名 mywebsite.fr を使用して、コンピューターのポート 443 にアクセスできないようです。
警告: http://mywebsite.fr (ポート 80) への接続も失敗します。
これは、mywebsite.fr が、Discourse をインストールしているこのマシンに到達しない IP アドレスに解決されることを示唆しています。
まず、mywebsite.fr がこのサーバーの IP アドレスに解決されることを確認する必要があります。
通常、ドメインを購入した場所でこれを行います。
IP アドレスが正しく解決されると確信している場合は、ファイアウォールが原因である可能性があります。
「ファイアウォールを開く YOUR CLOUD SERVICE」でウェブ検索すると役立つかもしれません。
このツールは、最も標準的なインストールのみを対象としています。上記の問題を解決できない場合は、自分で containers/app.yml を編集してから入力する必要があります。
こんにちは @satonotdead 様
確認しましたが、/var/log/nginx や /var/log/apache2 のフォルダはありませんでした。
@xiaokong23357、よく理解できません。
app.ymlのhttps行のコメントを解除してHTTP構成をインストールし、その後、この手順を手動で行うということでしょうか?
証明書ファイルをssl.crtとして保存し、ssl by category.keyをサーバーディレクトリ/var/discourse/shared/standalone/ssl/ssl.crtおよび/var/discourse/shared/standalone/ssl/ssl.keyにドラッグします。
こんにちは。
app.yml を手動で変更しました。ブラウザに次のメッセージが表示されます。
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.
SSLも取得できているようです。なぜなら: /var/discourse/shared/standalone/ssl# ls -l
total 8
-rw-r–r-- 1 root root 0 Mar 3 01:00 mydomain.fr.cer
-rw------- 1 root root 3243 Mar 3 01:00 mydomain.fr.key
-rw-r–r-- 1 root root 0 Mar 3 01:01 mydomain.fr_ecc.cer
-rw------- 1 root root 227 Mar 3 01:01 mydomain.fr_ecc.key
これからどうすればよいですか? 必要な設定を実行するにはどうすればよいですか?
実際、app.ymlでテンプレートアイテム「templates/web.ssl.template.yml」を導入すると、あなたのウェブサイトはすでにhttps通信を使用しており、上記でSSL証明書の設定方法について説明しました。
また、nginxは通常、サーバーで複数のウェブサイトを実行している場合に使用されます。Discourseのみを実行している場合は、無視することを選択できます。
問題ありません。単一インスタンスを実行しているだけなので、確認すべきこととして質問しました。
ほぼ完了です。Snow Love が言ったように、SSL証明書の作成手順を確認する必要があります。
ガイドラインのいくつかを見落としたのではないかと疑っています。親切なヒントですが、ドキュメントやガイドラインを読むのに時間をかける方が良いでしょう(自分の時間のためです)。
頑張ってください ![]()
@xiaokong23357 私はディスコースしか使いません。どうすれば無視できますか?
こんにちは @satonotdead さん
すみません、どのガイドラインについてお話しされていますか?
このドキュメントに従いました: discourse/INSTALL-cloud.md at main · discourse/discourse · GitHub
Snow Love が言っていたように、SSL証明書の作成手順を確認するにはどうすればよいですか?
/var/discourse/shared/standalone/ssl# ls -l で以下のものを見つけました。
合計 8
-rw-r–r-- 1 root root 0 3月 3日 01:00 mydomain.fr.cer
-rw------- 1 root root 3243 3月 3日 01:00 mydomain.fr.key
-rw-r–r-- 1 root root 0 3月 3日 01:01 mydomain.fr_ecc.cer
-rw------- 1 root root 227 3月 3日 01:01 mydomain.fr_ecc.key
見てください、ここでは nginx をデプロイに使用していません
nginxを使用する必要がある場合は、「-80:80」をexposeに入力してください。
#http 「変更先」 - 「9090:80」 # httpは、nginxがdiscourseにプロキシできるようにします。
nginxの問題がなぜ発生するのか理解できません。nginxの使用をリクエストしたことはありません。
app.ymlファイルを次のように変更する必要があるということですか?
expose:
- “9090:80” # http” は、nginx が discourse にプロキシできるようにします
- “443:443” # https
はい、nginxを使用する場合はHTTPプロキシポートを変更する必要があります。
nginxを使用しない場合は、HTTPポート9090を80に変更してください。
@Titi、このコマンドを実行した結果はどうなりますか?
apt list | grep nginx
VPSにnginxがインストールされており、それが問題の原因となっているという事実から、一般的なデフォルトのnginxインデックスページが表示されたと考えています。
Discourseも内部的にnginxを使用しますが、そのページが表示されるには、深刻なインストールの不具合が必要になります。
簡単なタスクは systemctl status nginx を実行することです。ステータスが alive であれば、systemctl stop nginx で停止し、それが維持されることを確実にするために systemctl disable nginx を実行します。
そして、これらのすべてを実行した後、app.yml で 80:80 および 443:443 を公開していることを再確認します。これで完了です。
