web-dev-qa-db-ja.com

Tumblr用のNginxリバースプロキシ

現在、ドメインをtumblrブログにリダイレクトするリバースプロキシを設定しようとしています。 this Gist を使用してNGinxを設定しました。私のnginx設定は次のようになります:

upstream tumblr {
        server 66.6.44.4;
}

server {
        listen          80;
        server_name     mydomain.com;

        access_log      /var/log/nginx/mydomain.access.log;

        proxy_set_header  X-Real-IP       $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  Host            $http_Host;
        proxy_set_header  REMOTE-Host     $remote_addr;
        proxy_redirect    off;
        proxy_max_temp_file_size          0;

        location / {
                proxy_pass http://tumblr;
                break;
        }
}

server {
        listen          80;
        server_name    www.mydomain.com;
        rewrite ^/(.*)  http://mydomain.com/$1 permanent;
}

残念ながら、これは機能しません。 mydomain.com経由でブログに接続しようとすると、Tumblrの「ここには何もありません」ページが表示されます。 Tumblrでリバースプロキシを適切に機能させるにはどうすればよいですか?

私が試したもの

  • Aレコードが、必要なTumblrドメインではなくNginxをオンにしているIPを指しているため、カスタムドメインとしてmydomain.comを追加できません(66.6.44.4)。
  • アップストリームサーバーをmyblog.tumblr.comに変更しても、何も起こりません。
5

いい質問です!このは実際に行うことができますが、比較的扱いにくい。

Tumblrは、あなたにこれを望まないことを非常に明確にしています。 CloudFlareの統合を静かに壊してしまいましたが、CloudFlareでこのリバースプロキシを行った人は、基本的に警告なしにカスタムドメイン名から起動しました。 (多くの人がそもそもCloudFlareを使用していたことに注意してください。Tumblrは空白のページを提供したり、接続を拒否したりすることが多かったため、CloudFlareの統合は実際に信頼性とユーザー満足度に有益でした。)

66.6.44.4の割り当てとロールアウトに先行する初期のカスタムドメインアダプターとして、 このブートオフが私にも発生しました 、2013年の夏の初めに無効にした場所非常に短くて不十分な通知を持つカスタムドメイン名(独自の指示に従って独自のサーバーに直接ポイントされたまま)。私はまだGoogleインデックスを回復していません。私はもうそのようにだまされないことに決めました。

カスタムドメイン名ルート

それでもこれを行いたい場合は、独自のDNSサーバーをDNS split-horizo​​nモードで実行して、異なるDNS応答を提供する必要があります。 tumblr.comおよびnon-tumblr.comネットワークへ。 66.6.32.0/20でスプリットホライズンを行うことはこれまでのところ機能しますが、もちろん、動作を継続する保証はありません(ただし、この部分はおそらく壊れる可能性が最も低い部分です)。

さらに、おそらくあなたがすでにやっていることとしてください。

私はこれを行いましたが、動作しますが、ややもろい感じがしますが、それを行うより良い方法はありません。

一度に複数のAレコードを公開しようとするか、インターフェースでカスタムドメイン名を受け入れるために66.6.44.4を一時的にのみ公開しようとすると、次のように壊れてしまいます。 tumblrはレコードを再チェックし続け、見たいものが表示されない場合はカスタムドメイン名機能を自動的に無効にするため、1〜2日後に説明します。

キャッシングを行う場合、考慮すべき他の問題もあります(これもおそらく別の質問です)。

ページ乗っ取りルート

コンテンツハイジャックモードに移行するには、次のように変更します。

proxy_set_header    Host    $http_Host;

次のようなものに:

proxy_set_header    Host    domain.tumblr.com;
proxy_redirect      default;

インターフェイスでcustom domain nameオプションを有効にしないでください。

このように、あなたはあなたのタンブラーのミラーを作成するだけです。

Tumblr.comにあるいいね、fav、reblogのバックリンクはtumblr.comの名前を指しているので(検索エンジンをだます方法を見つけない限り)、これはまったく意味がないので、これはお勧めしません。そのため、さらにいくつかのトリックを実行するか、チャンスを得る意思がない限り、ミラーの検索位置を取得する可能性はほとんどありません。また、訪問者にとってもあなた自身にとっても混乱を招くでしょう。

Tumblrルートを回避する

Tumblrには多くの選択肢があります。現在、テンプレートに基づいて動作し、静的HTMLを生成する、Jekyllに基づいたPythonまたはRubyベースの静的ブログジェネレーターへの切り替えを調査しています。それでもdisqusコメントを有効にすることができ、tumblrから移行するための特定のtumblr統合があると主張する人もいます。

しかし、まったく別の質問です。ただし、この方法で移行する予定がある場合は、tumblrでスプリットホライズンDNSとカスタムドメインを使用して、すべてのバックリンクが引き続きサイトを指すようにするのが便利です。投稿をtumblrにインポートし、自動的にエクスポートして割り当てられたURLを取得し、サイト上の割り当てられたURLを当時のネイティブPythonまたはRubyブログの実際のエントリにマッピングすることも可能です。 tumblr自体を使用する必要なく、tumblrからバックリンクを取得します。

8
cnst