119

iPad ではホスト ファイルを (ジェイルブレイクせずに) 編集できないため、Web トラフィックを任意に別の URL にリダイレクトするにはどうすればよいでしょうか?

これは、開発マシンにリダイレクトする仮想ホスト構成を使用する Web サイトを開発する場合などに重要です。

(これは、次の質問に関連しています: iPad のホスト ファイルを編集できますか? )

4

18 に答える 18

89

iPad のこの制限を回避する方法は、hosts ファイルを編集できる別のマシンで実行されているSquidなどの HTTP プロキシ サーバーを使用することです。

iPad の場合 [設定] -> [ネットワーク] -> [Wi-Fi] -> (お使いのネット​​ワーク) 手動に設定できる HTTP プロキシ設定があります。ここにプロキシ情報を入力します。

これを設定すると、hosts ファイルを変更するかのように iPad を操作できるようになります。

于 2011-08-02T19:05:30.457 に答える
74

開発マシンの IP アドレスを HTTP プロキシとして使用するには、iPadの Wifi 設定を変更するだけでよいことがわかりました (前述の記事で説明されているように)。

ここに画像の説明を入力

そうすれば、仮想ホストの URL (例: ) を入力して iPad 上の Web アプリケーションにアクセスできれば十分local.mywebapp.comです。簡単で迅速ですが、Will Koehler のソリューションとは異なり、iPad からインターネットにアクセスすることはできません。しかし、ほとんどの場合、自分のアプリケーションをテストしたいだけなので、実際には問題にはなりません。

于 2012-08-01T11:10:13.217 に答える
30

FiddlerやCharlesなどのプロキシサーバーを実行しているコンピューターでhostsファイルをセットアップし、そのコンピューターをHTTPプロキシとして使用するようにiPadを構成します。

Fiddlerでこれを行う方法の説明は次のとおりです。http: //conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

そしてこれはチャールズのためのものです: http ://www.ravelrumba.com/blog/ipad-http-debugging/

于 2011-08-02T20:00:01.007 に答える
12

開発を行っているApacheサーバーが既にある場合は、それをフォワード プロキシとして簡単に使用できます。これは、完全な絶対 URL を使用するのが大好きな WordPress サイトで特に役立ちます。

以下のUbuntuの例:

/etc/hosts最初のステップは、開発サーバーでファイルを編集することです。サイトを指すサーバーのローカル IP を追加します。

127.0.0.1 dev.mysite.com

このホスト ファイルは、Apache プロキシが iPhone / iPad からのリクエストを解決しようとするときに使用されます。それでは、Apache部分をセットアップしましょう...

最初にいくつかのモジュールをインストールする必要がある場合があります。

sudo apt-get install libapache2-mod-proxy-html
sudo a2enmod proxy proxy_http proxy_html
sudo apache2ctl graceful

次に、たとえば仮想ホストファイルを作成します/etc/apache2/sites-available/my-proxy

Listen *:8080
<VirtualHost *:8080>
    ProxyRequests On

    <Proxy *>
        Order Deny,Allow
        Deny from all
        Allow from 192.168.1.0/24 
    </Proxy>
</VirtualHost>

仮想ホストを有効にして、Apache を再起動します。

sudo a2ensite my-proxy
sudo apache2ctl graceful

次に、[設定] > [Wi-Fi] > [ネットワーク]に移動し、「手動」プロキシを構成します。Apache サーバーの IP とポートを入力します。それでおしまい!

この<Proxy *>ブロックにより、ローカル ネットワーク上のユーザーのみがこのプロキシを使用できるようになります。フォワード プロキシを使用している場合は、アクセスを厳密に制限することが不可欠です。この時点でip2cidrページが役に立ちます。(追加の対策として、:8080 ポートはファイアウォールによってブロックされています。)

于 2013-09-25T22:56:05.297 に答える
9

iPad で開発中の Web アプリをテストする必要があります。私は開発マシンで Apache を使用して Web アプリを実行しているため、最も簡単な解決策は Apache mod_proxy を使用することでした。

私の開発マシンは、ホーム ネットワーク上で sapphire.local として表示されます。

私がテストしている Web アプリは、demo.cms.dev の開発マシンでホストされています (私は POW を使用しています)。

プロキシをセットアップするために、httpd.conf に次のセクションを追加しました。

<VirtualHost *:80>
  ServerName sapphire.local
  ProxyPass / http://demo.cms.dev/
  ProxyPassReverse / http://demo.cms.dev/
  ProxyPassReverseCookieDomain .cms.dev .sapphire.local
  ProxyPreserveHost Off
</VirtualHost>

これにより、sapphire.local の着信要求が demo.cms.dev にルーティングされます。この方法は、一度に 1 つのアプリに対してのみ機能します。別のポートを使用して追加のアプリをセットアップできると思います。多分誰かがより良い解決策を持っていますか?

于 2011-12-20T00:19:31.960 に答える
6

Macでsquidmanを使って作りました。セットアップと使用は簡単です。この記事
に従って、5分でセットアップしました。

アップデート

もう 1 つのことは、プロキシ サーバーで実行されている Web サイトに接続する場合です。私の場合は Mac です。squidman->Preferences->Template でこの行をコメント アウトする必要があります。

# protect web apps running on the proxy host from external users
# http_access deny to_localhost
于 2013-10-11T07:03:49.990 に答える
5

ネットワーク上に内部DNSサーバーをセットアップし(まだ存在しない場合)、Aレコードをセットアップできます。次に、DHCPが上記のDNSサーバーを返すように設定されていることを確認します

于 2011-08-25T23:24:33.127 に答える
4

そのページの指示に従ってhttp://xip.io/を使用することもできます。IPアドレスを入力すると、関連するローカル IP にリダイレクトされます。

于 2013-09-30T11:37:11.157 に答える
2

ライブ Web サイトがある場合は、これに使用できます。

A レコードを DNS 構成に追加できます: ローカル IP アドレスを指す something.yourdomain.com から、something.yourdomain.com のエントリを仮想ホスト ファイルに追加します。Apache を再起動し、iOS デバイスを同じネットワークに接続すれば準備完了です。

于 2013-02-22T14:07:57.230 に答える
1

そうするための素晴らしいチュートリアル: http://egalo.com/2012/05/29/testing-mac-web-site-using-local-hostname-on-mobile-device/

もう 1 つの方法は、ローカル ホットスポット経由で iPad を MAC OS X に接続し、開発 VM へのポート転送を確立することです。これを達成するために、次の手順を実行しました。

  • MAC OS X で WLAN-ホットスポットリンクを作成する方法
  • iPAD を Hotspot-WLAN に接続します (iPAD >> 設定 >> WLAN)。
  • ServerAlias をローカルの開発 VM に追加します (詳細は以下を参照)。
  • ssh-portforwarding を確立する
    ssh -NL <IP-of-hotspot-host>:<source-port>:<url-to-local-vm>:80 <user-to-vm>
  • iPADs ブラウザで IP を使用してページを開きます
    <IP-of-hotspot-host>:<source-port>

「IP-of-hotspot-host」を取得する場所:


ホットスポットを作成した後、 MAC OS X システム設定 >> ネットワーク >> WLANに WLANポイントがあります。

ServerAlias の追加:

/etc/apache2/sites-available/dkr.dev.localの私の開発 VM (Apache2) で 、次を追加する必要がありました。

<仮想ホスト *:80>  
    ...  
    ServerAlias <IP-of-hotspot-host>  
    ...  
</仮想ホスト>
于 2014-02-04T10:00:41.720 に答える
1

内部 DNS サーバーはオプションの 1 つですが、実装が面倒でした。squid をプロキシ サーバーとしてインストールしようとしましたが、URL を新しいサーバーにリダイレクトしていたため、これも機能しませんでした。このリダイレクトはブラウザーの URL でも見られました。

最終的にうまくいったのは、サーバーの1つにFiddlerをインストールし、このサーバーをiPadのプロキシサーバーとして使用することでした。Fiddler には、サブドメインを IP アドレス (/etc/hosts に似たもの) にマップする機能もあります。

于 2013-07-22T08:18:27.430 に答える
1

これは、Mamp Pro Virtual ホストのクロス デバイス/コンピューター テストの構成なしの方法です。唯一の制限は、一度に 1 つのドメインしかテストできないことですが、開発中の私にとってはこれで問題ありません。ただし、mamp で仮想ホスト間を直接変更するのは非常に簡単です。

mamp pro 2、マウンテン ライオンを実行しています。マイ サイト フォルダーには、個々のドメイン フォルダーが含まれます。

仮想ホスト 'ip /port' の下でローカル コンピューターの特定の ip を選択し、mamp を再起動すると、ネットワーク経由でローカル ホスト コンピューターの ip アドレスまたはコンピューター名を表示するときに、このドメインが既定のドメインになることがわかりました。

テスト目的では、これは iPad を含むネットワーク上のすべてのデバイスでうまく機能します。別の仮想ホストをテストする場合は、単純に IP/ポート構成を「*」に戻し、別のドメインをコンピュータの IP アドレスに再割り当てして再起動します。

この単純なアプローチの利点は、同じネットワーク上にある場合、マシンで構成を行う必要なく、クライアントが開発サイトに直接アクセスできることです。

これが、簡単な解決策を探している他の人に役立つことを願っています。

于 2013-01-18T18:41:42.907 に答える