Nginxでサブパスホスティングを設定する

Nginxリバースプロキシを使用して、/helpのようなサブパスにヘルプセンターをホストする方法を学びましょう。

1 分で読めます

Nginx を使用すると、メインドメインのサブパスから Notiondesk ヘルプセンターを提供できます。

例えば、help.yourdomain.com のようなサブドメインを使用する代わりに、ヘルプセンターを次のURLからアクセスできるようにすることができます。

  • yourdomain.com/help
  • yourdomain.com/docs
  • yourdomain.com/support

この設定は、メインのウェブサイトがVPS、専用サーバー、またはNginxが既にウェブサーバーまたはリバースプロキシとして使用されているインフラストラクチャ上でホストされている場合に役立ちます。

訪問者はメインドメインにとどまりますが、ヘルプセンターのコンテンツは選択されたサブパスの背後にあります。

始める前に

Nginxでサブパスホスティングを設定する前に、以下のものを用意してください。

  • メインウェブサイトをホストしているサーバーへのアクセス
  • Nginxの設定へのアクセス
  • ヘルプセンターに使用するサブパス(例:/help/docs/support

また、Nginxのserverブロックのうち、メインのウェブサイトドメインを処理するブロックがどれであるかを把握しておく必要があります。ここに、Notiondeskリバースプロキシ設定を追加します。

Notiondesk でサブパス ホスティングを有効にする

まず、Notiondesk ダッシュボードからサブパスホスティングを有効にしてください。

  1. Notiondesk ダッシュボードを開く
  1. Settings > Generalへ移動
  1. Domains」セクションまでスクロールしてください。
  1. Subpath スイッチを有効にする
  1. 変更を保存する
  1. 生成されたNginx設定をコピーします。

Notiondesk は、ヘルプセンターのドメインや選択されたサブパスなど、ヘルプセンターに適した正しい値を含む構成を生成します。

Nginxの設定を追加します

次に、生成されたNginxの設定ファイルをウェブサイトのサーバー設定に追加します。

メインのウェブサイトドメインを処理するNginx設定ファイルを開き、適切なserverブロックを見つけてください。

server ブロックは、メインドメインを担当するブロックである必要があります。例:

生成された Notiondesk location ブロックをこの server ブロック内に貼り付けます。

設定では以下を処理する必要があります。

server {
    server_name yourdomain.com;

    # Your existing website configuration
}
  • ヘルプセンターの正確なサブパス、例: /help
  • ネストされたヘルプセンターページ、例: /help/
  • Notiondesk 内部ルート、例: /_nd/

Nginxリバースプロキシの例

以下は、Nginxリバースプロキシの設定例です。

この例では以下を使用します。

location = /help {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Site-Path-Prefix /help;
}

location ^~ /help/ {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Site-Path-Prefix /help;
}

location ^~ /_nd/ {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
}
  • your-help-center.notiondesk.help を Notiondesk ヘルプセンターのドメインとして使用します。
  • 選択されたサブパスとして /help

お使いの環境によっては、異なる値を使用する場合があります。

Nginxをテストしてリロードする

設定を追加したら、Nginxをリロードする前に設定をテストしてください。

走る:

テストが成功したら、Nginxを再起動してください。

サーバーの設定によっては、リロードコマンドが異なる場合があります。

Nginxを再起動した後、選択したサブパスからヘルプセンターを開いてください。メインのヘルプセンターページが正しく読み込まれることを確認してください。

nginx -t
sudo systemctl reload nginx

関連する記事

このページは役に立ちましたか?