--- > [!NOTE] 目次 ```table-of-contents title: minLevel: 0 maxLevel: 0 includeLinks: true ``` --- > [!NOTE] リスト掲載用文字列 - [カスタムドメイン - Obsidian ヘルプ](https://help.obsidian.md/publish/domains)【Obsidian Help】() --- > [!NOTE] この記事の要約(箇条書き) - Obsidian Publishサイトにカスタムドメインまたはサブドメインを設定する方法について説明します。 - カスタムドメインの構成は、現時点ではCloudFlare(フルモード)またはプロキシの使用のみがサポートされています。 - CloudFlareを使用した設定が最も簡単で、CloudFlareアカウントの作成、CNAMEレコードの追加(ターゲットは`publish-main.obsidian.md`)、プロキシステータスの有効化、SSL/TLS暗号化モードを「フル」に設定する手順が含まれます。Obsidian側でもカスタムURLを設定します。 - ルートドメインと`www`サブドメインの両方をリダイレクトするために、CloudFlareページルールを作成する方法も示されています。 - プロキシを使用した設定は、独自のWebサーバーでSSL/TLSを設定する場合や、特定のURLパスでObsidian Publishサイトを読み込む場合に使用します。NGINX、Apache、Netlify、Vercel、Caddy、Traefikの構成例が提供されています。 - プロキシサービスがクエリパスを許可しない場合、`x-obsidian-custom-domain`HTTPヘッダーを使用できます。 - 古い`publish.obsidian.md`リンクから新しいカスタムドメインに訪問者をリダイレクトするオプションがあります。 - カスタムドメイン設定後のトラブルシューティングとして、ブラウザのキャッシュをクリアする必要がある場合があることが指摘されています。 > [!NOTE] 要約おわり --- [Obsidian Publish](https://help.obsidian.md/publish) サイトにカスタム ドメインまたはサブドメインを設定できます 。 ## CloudFlareを使用して設定する カスタム ドメインまたはサブドメインを設定する最も簡単な方法は、 [CloudFlare](https://cloudflare.com/) アカウントを作成し、CloudFlare にドメインの DNS を管理させることです。 `mysite.com` 次の手順では、CloudFlare を使用して、ルート ドメイン ( ) またはサブドメイン ( ) のいずれかを使用して、Obsidian Publish サイトのカスタム ドメインを構成します `notes.mysite.com` 。 重要 CloudFlareは、カスタムドメインの設定を **公式にサポートしている唯一のプロバイダー** です。以下の手順を他のプロバイダーで使用しても、うまくいかない可能性があります。 **クラウドフレア:** 1. Publish サイトをホストするドメイン ( など) に対して Cloudflare を開きます (`mysite.com` のようなサブドメインが必要な場合でも `notes.mysite.com`)。 2. **DNS** に移動して 、 **\[レコードの追加\]** をクリックします。 3. **CNAME** を選択します 。 4. **名前** に 、ドメインまたはサブドメインを入力します (例: ) `notes.mysite.com` 。 5. **ターゲット** に と 入力します `publish-main.obsidian.md` 。この値には個人のサブURLを含めないでください。Obsidian Publishは設定に基づいてこれを処理します。 6. **プロキシステータス** が有効になっていることを確認してください 。デフォルトで有効になっているはずです。 7. **SSL/TLS** に移動し 、SSL/TLS 暗号化モードを「フル」に設定して、SSL/TLS 証明書を自動的に構成します。 注記 `mysite.com` と の両方を `www.mysite.com` Obsidian Publish に リダイレクトするには、 次の設定で [Page Ruleを作成する必要があります。](https://support.cloudflare.com/hc/en-us/articles/200172336-Creating-Page-Rules) - URL一致:`www.mysite.com/*` - 転送URL - 301永続リダイレクト - リダイレクトURL:`https://mysite.com/$1` ページ ルールを作成したら、 `www.mysite.com` の場合と同じようにの CNAME レコードを作成します `mysite.com` 。 **黒曜石:** 1. コンピューターでObsidianを開きます。 2. 左側の [リボン](https://help.obsidian.md/ribbon) で、 **\[変更を公開\]** ( ) をクリックします。 3. **\[変更を公開\]** の下で 、 **\[サイト オプションの変更\]** ( ) を選択します。 4. **\[カスタム ドメイン\]** の横にある **\[構成\]** を選択します 。 5. **「カスタムURL」** に 、ドメインまたはサブドメインのURLを入力します。 `www.`カスタムURLのボックスには何も入力しないでください。 注記 カスタム ドメインの設定でリダイレクト ループが発生する場合は、CloudFlare の暗号化モードが「Full」ではなく「Flexible」に設定されている可能性があります。 ## プロキシを使用して設定する 独自の Web サーバーを使用して、カスタム ドメインの SSL/TLS を設定することもできます。 すでにドメインまたはサブドメインで Web サイトをホストしている場合は、このオプションを使用して、サイト全体をホストするのではなく、特定の URL パスで Obsidian Publish サイトを読み込むように Web サイトを設定することもできます。 **\[カスタム URL\]** を に設定して 、その URL パスの下にあるすべてのリクエストを にプロキシ `https://publish.obsidian.md/serve?url=mysite.com/my-notes/...`し、Obsidian のサイト オプションを同じ URL パスに構成します 。 `mysite.com/my-notes` Obsidian Publishを、ご自身のサイトのサブURLとして設定することもできます。例えば、 です `https://mysite.com/my-notes/` 。これを実現するには、ご自身でサーバーをホストし、すべてのリクエストを にある弊社のサーバーにプロキシする必要があります `https://publish.obsidian.md/` 。 次のプロキシ設定例は網羅的なものではありませんが、この実装に共通する方法を示しています。 ### NGINX NGINX 構成に以下を追加します。 ```nginx location /my-notes { proxy_pass https://publish.obsidian.md/serve?url=mysite.com/my-notes/; proxy_ssl_server_name on; proxy_set_header Host publish.obsidian.md; } ``` 一部のユーザーからは、 `$request_uri` プロキシ パスの追加が必要になる可能性があるという報告があります。 ```nginx location /my-notes { proxy_pass https://publish.obsidian.md/serve?url=mysite.com/my-notes$request_uri; proxy_ssl_server_name on; proxy_set_header Host publish.obsidian.md; } ``` ### アパッチ に`.htaccess` 次の内容を追加します。 ``` RewriteEngine on RewriteRule "^my-notes/(.*)quot; "https://publish.obsidian.md/serve?url=mysite.com/my-notes/$1" [L,P] ``` 注記 `mod_rewrite` 有効にする必要があり、 [SSLProxyEngineも設定する必要があるかもしれません](https://stackoverflow.com/questions/40938148/reverse-proxy-for-external-url-apache) ### ネットリファイ で `netlify.toml` 、 [リダイレクトを設定します](https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file) 。 ``` [[redirects]] from = "https://mysite.com/my-notes/*" to = "https://publish.obsidian.md/serve?url=mysite.com/my-notes/:splat" status = 200 force = true ``` ### ヴェルセル で `vercel.json` 、 [書き換えを設定します](https://vercel.com/docs/configuration#project/rewrites) 。 ```json { ... "rewrites": [ { "source": "/my-notes/", "destination": "https://publish.obsidian.md/serve?url=mysite.com/my-notes" }, { "source": "/my-notes/:path*", "destination": "https://publish.obsidian.md/serve?url=mysite.com/my-notes/:path*" } ] } ``` ### キャディー ``` mysite.com { encode zstd gzip handle /my-notes* { reverse_proxy https://publish.obsidian.md { header_up Host {upstream_hostport} } rewrite * /serve?url=mysite.com{path} } } ``` ### トラエフィク この最小限の設定抜粋は `mysite.com` Obsidian publishにリダイレクトされます。 完全な例については、 [Traefikのドキュメント](https://doc.traefik.io/traefik/routing/overview/) をご覧ください。 ```yaml http: routers: mysite: rule: Host(\`mysite.com\`) service: obsidian-publish middlewares: - "publish-headers" services: obsidian-publish: loadBalancer: servers: - url: https://publish.obsidian.md middlewares: publish-headers: headers: customRequestHeaders: Host: "publish.obsidian.md" x-obsidian-custom-domain: "mysite.com" ``` ### サポートされているHTTP Xヘッダー プロキシ サービスがクエリ パスを許可しない場合は、 サイト URL に設定された `https://publish.obsidian.md/` カスタム ヘッダーを使用できます 。 `x-obsidian-custom-domain` `mysite.com/my-subpath` ## 古いサイトをカスタムドメインにリダイレクトする `publish.obsidian.md` 訪問者を古いサイトから新しいカスタム ドメインに リダイレクトする場合は、 **カスタム ドメインを構成するときに \[カスタム ドメインにリダイレクト\]** オプションを有効にします。 ## トラブルシューティング カスタムドメインを設定した後、以前の `https://publish.obsidian.md/slug` リンクからサイトにアクセスしたことがある場合、フォント、グラフ、パスワードアクセスなど、一部の機能が正常に動作するためにブラウザのキャッシュをクリアする必要がある場合があります。これは、最新のブラウザに課せられているクロスドメインセキュリティ制限によるものです。幸いなことに、訪問者がカスタムドメインのみを利用できるようにすれば、サイトの読者がこの問題に遭遇することはありません。