プロキシ アプリは、アプリのテストを容易にするために、ローカル サービス (同じ LAN 内のローカル サーバー) にアクセスするためのアドレスを要求します。

適用シナリオ

(モバイルアプリケーションのドメイン名がローカルエリアネットワークの pc ローカルサービスをリクエスト) dcloud wap2app の使用により、m ステーションが app に変更され、wap2app はバックエンドドメイン名を指定して appid に解決され、リクエストアドレスは変更できず、共有などの機能は携帯電話でしかテストできず、テストを構築する環境が複雑なので、アプリのリクエスト ドメイン名プロキシを LAN 内の PC 側のバックグラウンド サービスにマッピングしたいと考え、このアイデアを実装し始めました。 .

アイデアを実装する

PC 側は、hosts ファイルを使用してドメイン名のマッピングを指定できます. 携帯電話側はホストを変更できませんが、プロキシを設定して、PC コンピュータ側から電話のネットワークにアクセスできるようにすることができます. このとき、コンピューターは、アプリ アプリケーションによって要求されたサービス ドメイン名を PC コンピューターにマップするようにホストを構成しています。

ホストの説明

簡単かつ明確に言えば、要求したドメイン名は、最初にホスト構成に移動して一致するかどうかを確認し、それを直接使用します。再度 DNS を検索しませんでした (ホストが設定されていて有効にならない場合は、ブラウザの DNS キャッシュとローカルの DNS キャッシュをクリーンアップしてください -> ipconfig /flushdns)。

PC now fiddler がポートの監視を実現

ここに画像の説明を挿入
この時点で、トラフィック転送のためにポート 8888 をリッスンします。

電話設定プロキシ

ここに画像の説明を挿入
まず、携帯電話とコンピュータが同じローカル エリア ネットワークにあることを確認します。
プロキシ サーバーのアドレスは、PC コンピュータの IP アドレスです。コマンド ipconfig は、
プロキシ サービスのアドレスをチェックします。このアドレスは、前のステップの PC。

ホスト構成マッピング

C:\Windows\System32\drivers\etc の下のホスト ファイルへのマッピングを変更および追加します。
ここに画像の説明を挿入
また、スイッチホストを使用して、スイッチホストをオープン ソース アプリケーションとして構成およびダウンロードすることもできます。管理者権限で実行することを忘れないでください

モバイルでアクセスできるようになりました

アクセスプロセス

モバイル アプリケーションは、test.com.cn への要求をプロキシ サーバーのポート 192.168.46.184:8888 に送信します。プロキシ サーバーは、test.com.cn への要求をホスト ファイルに転送し、ホスト ファイルに対応する test.com.cn を検索します。ローカル マシン 192.168.46.184 (ポートが書き込まれていない場合、デフォルトは 80 です。ホスト ポートを入力するのは難しいため、ローカル サービスはポート 80 を開始します) さて、これがプロセスです

使用中に発生した問題

1. 携帯電話ネットワークのプロキシをオフにし、アプリを通常どおり開き、翌日プロキシを開き、Vue リクエストによりバックエンド アドレスに変更がないためページにアクセスすると、モバイル アプリがページをキャッシュし、リクエストがまだサーバーのアドレスである場合は、アプリをアンインストールして再インストールします。
2. 傍受されたアプリ要求のフロントエンド アドレス ドメイン名が app.com.cn/appweb 要求のバックグラウンド アドレスが 192.168.46.184:8080/app に含まれていないため、フロントエンドとバックエンドのクロス ドメインの問題。同じドメイン名であるため、クロスドメインにつながります。この時点で、バックグラウンドとフロントエンドのドメイン名構成をフロントエンド app.com.cn/appweb バックグラウンド構成 app.com.cn/app に入れることができます。
クロスドメインにならないように、switchhost前に設定したドメイン名をローカルに転送し、nginxのパスを使ってエージェントとして行動する

 		 listen 80;
        server_name app.com.cn ;
        location /app {//后台服务代理
            proxy_pass   http://192.168.46.184:8080;//后台服务地址
        }
        location /appweb{//页面服务代理
            proxy_pass   http://192.168.46.184:8081;//前台服务地址
        }

特別な感謝

実装プロセス中に提案してくれた蔡兄弟に感謝し、見てくれてありがとう。

おすすめ

転載: blog.csdn.net/shixiaodongmain/article/details/122074663