Yaxy-Web開発者向けのプロキシサーバー

Yaxyは、HTTP要求と応答のさまざまな部分を構成ファイルで指定された値に置き換えるプロキシサーバーです。 ここでは、サーバーのインストール、構成、および起動方法については説明しません。これはすべてreadmeリポジトリで説明されています。 ここでは、Yaxyが不可欠ではないにしても、非常に役立つさまざまなケースについて説明します。







hostsファイルの置き換え





最も単純なケースでは、ルールがあります



site.my => 127.0.0.1
      
      







その結果、hostsファイルの機能に追加の利点が追加されます。







ところで、サイトが非標準ポートにある場合、ブラウザのアドレスバーにこのポートを書く必要はありません。設定で指定できます。



  site.my => localhost:9898
      
      







サーバーの人たちはこれを長い間やっています





また、スクリプトをデバッグするには、サイトでOrigin



HTTPヘッダーをサポートする必要があります。 誰かを待つ必要はありません。



  www.yandex.ru => $ $SetResponseHeader Access-Control-Allow-Origin: *
      
      







私のコンピューターでは、どのサイトのスクリプトでもwww.yandex.ruを読むことができます。



適切なデータのテスト。





あなたのサイトでは、データAjaxにアクセスします。 突然、特定のデータでスクリプトがクラッシュすることがわかりましたが、システムの通常の手段を使用してそのようなデータだけを再現するのはそれほど簡単ではありません。 はい、正直に言うと、すべてを壊すためにどのJSONを使用すべきかはまだ明確ではありません。 特定のURLに対して一定のJSONを生成するようにサーバーにパッチを適用するか、プロキシサーバーの設定に書き込むことができます



  my-service.my/my-data.json => data:application/json;{"success":false,"error":" "}
      
      







実稼働環境でのデバッグ





JSコードでエラーが検出され、本番環境でのみ再現されます。



  my-service.ru/scripts/main.js => my-service.dev/scripts/main.js
      
      







これで、サイト全体が実稼働からロードされ、main.jsスクリプトはローカルサイトからのみです。



他の人のサイトでのデバッグ





トラフィックカウンター、ソーシャルメディアボタン、広告システム、または他の人のサイトで機能する何かを作成します。 あなたは間違いなくあなたのコードが機能しないサイトに会うでしょう。 同時に、サイトには多数のスクリプトがあり、さまざまなウィジェットがあります。スクリプトが競合するものは明確ではありません。



さて、サイトの一部のページのソースコードを保存し、Yaxy configに次のように記述します。



  bad-site.ru/page.html => file:///home/me/bad-site.html
      
      







ブラウザの変更は何もありませんが、ページコードを自由に修正できるようになりました。 そして標準-ファイル内のさまざまな行を削除し、削除するとエラーが消えます。 script.jsファイルを含めるとエラーが表示されることがわかりましたか? 同じ方法で交換し、何が悪いのかを確認します。 その後、必要に応じて、控えめに言ってもコードがそのような場所にあることを所有者に書き込むか、または(望ましい)スクリプトをそのような状況に適合させます。



30秒でウェブサイト





仮説をテストするために2ページのWebサイトを迅速に作成する必要があり、Apacheの混乱には消極的です。



  new-site.my => file://c:/www/my-site
      
      







c:/ www / my-siteフォルダーには、new-site.myのブラウザーで開くサイトファイルがあります。



AJAXデータの読み込みをテストする





一般的な問題:ローカルホストではすべてが迅速に機能するため、ブート指示は必要ないようです。 しかし、何らかの回転する絵が必要であるという理解があったとしても、それを見る時間はまだありません。



  my-site.ru/data/data.json => $ $Delay 5
      
      







これで、data.jsonファイルが少なくとも5秒間ロードされます。



干渉するHTTPヘッダーを削除する





テストのためにiframeでサイトを開く必要がありますが、サイトはX-Frame-Options: DENY



ヘッダーを送信します。 ルールを追加する



  site.ru => $ $RemoveResponseHeader X-Frame-Options
      
      







これ以上干渉するヘッダーはありません。



サイトスクリプトの改訂の順序





奇妙な人があなたに近づきました。彼はあなたにサイトのJSスクリプトを書いてほしいと願っていますが、サイトへのアクセスを与えたくありません。 また、サイトは非常に複雑であるため、スクリプトをテストする必要があります。 問題ありません。 サイトの目的のページで接続されたJSファイル(たとえば、/ js / main.js)を選択し、自分自身に保存して(たとえば、/ home / me / main.jsに)、ルールをYaxyに追加します



  site.ru/js/main.js => file:///home/me/main.js
      
      







これで、サイト全体が通常モードで動作し、main.jsファイルがローカルにロードされます。 新しいコードをファイルの最後に追加すると、個別に作成できるようになります。



しかし、レイアウトを変更する必要がある場合はどうでしょうか? また、問題ありません。 メインページのソースを保存し、ルールを追加します



  !site.ru/ => file:///home/me/site.ru.html
      
      







サイトのメインページ全体がディスク上にあるので、レイアウトを自由に変更できます。



これはYaxyが私を助ける状況の完全なリストではありません。 それがあなたに役立つなら嬉しいです。 そしてもちろん、バグ報告は大歓迎です。



All Articles