Ghostサーバで、ルートディレクトリにファイルを置きたい事案があります。

  • Ghostでは、ルートディレクトリに自由にファイルを置けない
  • ads.txtfavicon.icoをどうする?

まずは置きたいファイルを何処かに配置する

Ghostでfaviconを設定するを参考に、まずはアクセスできるファイルをアップロードします。
この例では /content/files/2023/01/ads.txt に配置されました。

カスタムパスでリダイレクトする

Nginx Proxy Manager(以下NPM)では、特定のパスに来たリクエストを別のパスから返させる機能があります。

例えば Google AdSense で必要な /ads.txt は、そのままではGhostサーバ上で返すことはできません。
そこで、NPM に以下の設定をします。

フォワード先: 192.168.11.160/content/files/2023/01/ads.txt

npm-redirect

のように設定することで、 /ads.txt にリクエストが来たときに返すことができました。
(ただし、最初の応答は 307 で、 internal redirect となっていたのでフォワード動作ではないようです。)

同様に、favicon.icorobots.txt など、ルートに置きたいものを設定しておくと良さげです。