NextcloudのパブリックURLを設定して、Nextcloud自身がアクセスできるようにする

Nextcloud の正規ベース URL をユーザーが実際に使用するアドレスに設定し、Nextcloud サーバーがそのアドレスを解決して接続できることを確認してください。一般的な HTTPS インストールの場合、重要な設定は次のとおりですoverwrite.cli.url。Nextcloud がリバースプロキシの背後にある場合は、設定で必要な場合にのみ、転送プロトコルまたは Web ルートも修正してください。

「サーバーに送信先アドレスがありません」という警告は、Nextcloud が自身の Web サービスへのアドレスを生成または検証できなかったことを示している可能性があります。現在の Nextcloud のドキュメントでは、いくつかのセットアップチェックで、Web サーバーが信頼済みドメインまたは構成済みのドメインのいずれかにアクセスする必要があるとされていますoverwrite.cli.url。これは、外部サービスへの送信 DNS、ファイアウォール、またはプロキシアクセスに関する一般的な「インターネット接続が機能していません」という警告とは異なります。

NextcloudはどのURLを使用すべきでしょうか?

ユーザーが通常入力する安定した URL を選択してください。たとえば、ユーザーが を開く場合はhttps://cloud.example.com、そのスキームとホスト名をそのまま使用します。インストールが などのサブディレクトリから提供される場合はhttps://example.com/nextcloud、ベース URL に を含めます。生成されたリンクがそのマシン外のユーザーにも機能する必要がある場合には、 やプライベートコンテナ名を正規 URL として/nextcloud使用することは避けてください。localhost

Nextcloudは、overwrite.cli.urlコマンドラインやバックグラウンドジョブなど、通常のブラウザリクエスト以外の状況でリンクを生成する際に、正規ベースURLとして を使用します。そのため、インストール時に推測されたURLが誤っているために警告やリンク切れが発生した場合に、この設定は適切です。

正規ベースURLを設定します

occ標準的なLinuxインストール環境では、通常以下の内容を含むNextcloudディレクトリに移動し/var/www/nextcloud、Webサーバーユーザーとして以下を実行します。

cd /var/www/nextcloud
sudo -u www-data php occ config:system:set overwrite.cli.url --value="https://cloud.example.com"

例の URL を実際の公開アドレスに置き換えてください。サブディレクトリにインストールする場合は、パスを含めてください(例:)https://example.com/nextcloud。インストールで別の Web サーバー アカウント、コンテナ、またはパッケージ レイアウトを使用する場合は、そのデプロイメントのドキュメントに記載されている方法を使用して を実行してくださいocc。上記のパスとアカウントは汎用ではありません。

config/config.php既存の配列を編集して、このエントリを追加することもできます$CONFIG。

'overwrite.cli.url' => 'https://cloud.example.com',

2つ目の配列を作成したり、ファイルの残りの部分を上書きしたりしないでください$CONFIG。他のエントリが続く場合は、末尾のカンマを残してください。config手動で編集する前に、アクティブディレクトリの外にバックアップを作成してください。Nextcloud は、そのディレクトリから末尾が で終わる追加ファイルをライブ構成として読み込む場合があります.config.php。

Nextcloudがリバースプロキシの背後にある場合、何が変わりますか?

リバースプロキシは、公開されている HTTPS リクエストを受け取り、プライベートネットワーク上のプレーン HTTP を介して Nextcloud に転送します。Nextcloud は、独自の URL を作成する際に、誤ったスキーム、ホスト名、またはパスを推測する可能性があります。公式のリバースプロキシガイドでは、自動検出が失敗した場合にのみ上書きパラメータを使用し、プロキシ アドレスを の下にリストすることを推奨していますtrusted_proxies。

10.0.0.1Nextcloudを配信するプロキシの場合https://cloud.example.com/nextcloud、既存の設定配列内の関連エントリは次のようになります。

'trusted_proxies'   => ['10.0.0.1'],
'overwriteprotocol' => 'https',
'overwritewebroot'  => '/nextcloud',
'overwrite.cli.url' => 'https://cloud.example.com/nextcloud',

デプロイメントでは、Nextcloud がプロキシとパブリック パスとして認識する実際のアドレスを使用してください。ルート ドメインのインストールでは、overwritewebroot特定のプロキシ構成で必要な場合を除き、省略してください。Nextcloud は、overwritehostプロキシによって転送されるホストを読み取ることができるため、ほとんどの設定では不要であると述べています。ホスト名を強制的に 1 つ指定する必要がある場合にのみ設定してください。プロキシの信頼設定または転送ヘッダーの設定が正しくないと、クライアント IP アドレスの解釈に影響が出る可能性があるため、トポロジを確認せずにサンプル アドレスをコピーしないでください。

サーバーは自身のネットワーク内からそのURLにアクセスできますか?

Nextcloudホストから、またはサービスがDockerで実行されている場合はNextcloudコンテナからテストしてください。まず名前解決を確認し、次にHTTPSリクエストを行います。

getent ahosts cloud.example.com
curl -I https://cloud.example.com/status.php

ホスト名は意図した到達可能なアドレスに解決され、リクエストは証明書エラーのない Nextcloud からの HTTP レスポンスを返す必要があります。ラップトップからのリクエストが成功したとしても、サーバーが同じ URL に到達できることを証明するものではありません。ルーターの背後にあるホームサーバーは、LAN 内から自身のパブリック アドレスにアクセスしようとすると失敗する場合があります。これは、ヘアピン NAT または NAT ループバックの問題と呼ばれることがよくあります。同じパブリック ホスト名が内部的にリバース プロキシの LAN アドレスに解決されるようにスプリット DNS を設定するか、ルーターでサポートされているループバック動作を有効にしてください。リモート ユーザーに送信されるリンクが有効であるように、正規 URL は公開したままにしてください。

HTTPSが正常であることを示す証拠として証明書を使用することで、証明書の問題を「解決」しないでくださいcurl -k。Nextcloudを実行するシステムまたはコンテナによって信頼されている証明書チェーンをインストールまたは構成してから、通常どおりテストを繰り返してください。

一般的なインターネット接続状況を確認すべきタイミングはいつですか?

管理ページに「Nextcloud に有効なインターネット接続がありません」または「複数の外部エンドポイントにアクセスできません」と明記されている場合、設定を変更するoverwrite.cli.urlだけではインターネットへの送信は復旧しません。サーバーの DNS 解決と送信ファイアウォールルールを確認してください。ネットワークで HTTP プロキシが必要な場合は、サポートされている Nextcloud プロキシ設定、または PHP やバックグラウンド ジョブで使用される環境を設定してください。対話型シェルでのみ設定されたプロキシは、スケジュールされたジョブでは利用できない場合があります。

修正を確認してください

Nextcloudが正規URLを解決してアクセスできるようになったら、管理概要を再読み込みしてください。アドレスが正しいHTTPSホスト名とサブディレクトリを使用していることを確認し、テスト用の共有リンクを作成して、同じ到達可能なホストが含まれていることを確認してください。送信アドレスの警告が解消されてもインターネット接続の警告が残る場合は、送信アクセスを別途調査してください。Nextcloudの最新の管理マニュアルには、URLとリバースプロキシの設定が記載されています。画面の正確な文言は、リリースや翻訳されたインターフェースによって異なる場合があります。

公式資料

コメントを残す

NextcloudのパブリックURLを設定して、Nextcloud自身がアクセスできるようにする

Nextcloudの送信アドレスが見つからないという警告を修正するには、正規URLを設定し、サーバー自体からDNS、HTTPS、およびリバースプロキシルーティングを確認してください。

Ubuntu 24.04でNextcloud Redisキャッシングを設定する

Ubuntu 24.04でNextcloud Redisキャッシングを設定する

Nextcloudのキャッシュとファイルロックのために、ローカルのUnixソケットを介してAPCuとRedisを設定する手順を、最新版および旧版のNextcloudリリースごとに説明します。

Systemdタイマーを使用してNextcloudのCronを自動的に実行させる

Nextcloudのcronモードを確認し、systemdサービスとタイマーを修復し、起動後および5分ごとにバックグラウンドジョブが実行されていることを確認してください。

Redisを使用してNextcloudのファイルロック警告を解消する

信頼性の高いNextcloudファイルロックを有効にし、適切なRedisまたはValkeyバックエンドを選択し、同時ファイル変更のリスクを冒すことなく警告が解消されることを確認してください。

Nextcloudのセキュリティ評価でA+を獲得するために必要なこと

Nextcloudのセキュリティ評価でA+を獲得するために必要なこと

最新のアップデート、HTTPSおよびHSTS、正確なリバースプロキシの信頼設定、およびパブリックサーバーに対するチェックによって、Nextcloudのスキャンでよく見られる問題を修正します。

影響度を測定しながらNextcloudのサーバーサイド暗号化を有効にする

必要なストレージに対してNextcloud SSEを設定し、暗号化キーを保護し、既存ファイルを暗号化する前に転送量とCPUへの影響を測定します。

NextcloudにElasticsearchの全文検索機能を追加する

Nextcloudのファイル検索機能をElasticsearchに接続し、ドキュメントの内容をインデックス化し、サーバーとセキュリティのニーズに合った設定を選択してください。

Nextcloudで削除されたファイルの信頼性の高い有効期限ポリシーを設定する

Nextcloudで削除されたファイルの信頼性の高い有効期限ポリシーを設定する

Nextcloudを設定して、削除されたファイルを一定期間後に削除するようにし、バックグラウンドジョブを確実にスケジュールし、すべてのユーザーのゴミ箱を空にするコマンドを回避するようにします。

Nextcloudのデータベースインデックスが見つからないという警告をクリアする

Nextcloudのデータベースインデックスが見つからないという警告をクリアする

NextcloudのOCC修復を安全に実行し、データベースの変更をプレビューして、警告が残る理由を確認してください。

Nextcloudのウェブアップロード制限を2GB以上に引き上げる

Nextcloudのウェブアップロード制限を2GB以上に引き上げる

PHP、Nginx、Apache、一時ストレージ、タイムアウトの設定を調整することで、Nextcloudブラウザからのより大きなファイルアップロードを可能にし、どの制限がファイルのアップロードを妨げているかを確認してください。