Karena di iPad kami tidak dapat mengedit file host (tanpa jailbreaking), bagaimana kami dapat mengalihkan lalu lintas web secara sewenang-wenang ke url lain?
Ini akan menjadi penting untuk sesuatu seperti mengembangkan situs web yang menggunakan konfigurasi Host Virtual di mana Anda ingin mengarahkan ke mesin pengembangan.
(Ini terkait dengan pertanyaan ini: Dapatkah saya mengedit file host iPad? )
yum install squid
di fedoraapt-get install squid
di Ubuntusudo service squid3 reload
. Juga - dan mungkin ini adalah masalah konfigurasi khusus untuk server dev saya - di iPad saya, saya harus memasukkan http: // secara manual agar resolusi alamat berfungsi dengan benar.Saya menemukan Anda hanya perlu mengubah pengaturan Wifi di iPad Anda untuk menggunakan alamat IP mesin pengembangan Anda sebagai proxy HTTP (seperti yang dijelaskan dalam artikel yang disebutkan di atas ):
Dengan begitu, cukup untuk dapat mengakses aplikasi web Anda di iPad Anda dengan memasukkan url host virtual (misalnya
local.mywebapp.com
). Ini mudah dan cepat, tetapi tidak seperti solusi Will Koehler, Anda tidak akan dapat mengakses Internet dari iPad. Tetapi sebagian besar waktu itu sebenarnya bukan masalah, karena Anda hanya ingin menguji aplikasi Anda sendiri.sumber
80
.Atur file host di komputer yang menjalankan server proxy seperti Fiddler atau Charles, dan konfigurasikan iPad untuk menggunakan komputer tersebut sebagai proxy HTTP.
Berikut adalah petunjuk cara melakukan ini dengan Fiddler: http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html
Dan ini untuk Charles: http://www.ravelrumba.com/blog/ipad-http-debugging/
sumber
Jika Anda sudah memiliki server Apache tempat Anda melakukan dev, Anda dapat dengan mudah menggunakannya sebagai proxy penerusan. Ini sangat berguna untuk situs WordPress, yang sangat suka menggunakan URL absolut lengkap.
Contoh Ubuntu di bawah ini:
Langkah pertama adalah mengedit
/etc/hosts
file di server dev Anda. Tambahkan IP lokal server, yang mengarah ke situs Anda.127.0.0.1 dev.mysite.com
File host ini akan digunakan oleh proxy Apache Anda ketika mencoba menyelesaikan permintaan dari iPhone / iPad Anda. Jadi mari kita atur bagian Apache sekarang ...
Anda mungkin perlu menginstal beberapa modul terlebih dahulu.
Kemudian buat file virtual host, misalnya
/etc/apache2/sites-available/my-proxy
Aktifkan vhost, dan mulai ulang Apache:
Lalu pergi ke Pengaturan> Wi-Fi> Jaringan Anda dan konfigurasikan proxy "Manual". Masukkan IP server Apache Anda, dan porta. Itu dia!
The
<Proxy *>
blok memastikan bahwa hanya orang-orang di jaringan lokal saya dapat menggunakan proxy ini. Membatasi akses secara ketat penting jika Anda menggunakan proxy penerusan. The ip2cidr halaman akan membantu pada saat ini. (Sebagai tindakan ekstra, port: 8080 diblokir oleh firewall saya.)sumber
Saya perlu menguji aplikasi web yang saya kembangkan di iPad. Saya menggunakan Apache di mesin dev saya untuk menjalankan aplikasi web, jadi solusi termudah yang saya temukan adalah menggunakan Apache mod_proxy.
Mesin dev saya terlihat di jaringan rumah saya sebagai sapphire.local.
Aplikasi web yang saya uji di-host pada mesin dev di demo.cms.dev (Saya menggunakan POW).
Untuk mengatur proxy, saya menambahkan bagian berikut ke httpd.conf.
Ini merutekan permintaan masuk di sapphire.local ke demo.cms.dev. Metode ini hanya berfungsi untuk satu aplikasi dalam satu waktu. Saya pikir Anda dapat menggunakan port yang berbeda untuk mengatur aplikasi tambahan. Mungkin seseorang punya solusi yang lebih baik?
sumber
Anda juga dapat menggunakan aplikasi Weblock - AdBlock untuk iOS (tersedia dengan harga $ 1,99 di sini: https://itunes.apple.com/us/app/weblock/id558818638?mt=8 ) untuk membuat pengalihan lalu lintas web.
Ini memungkinkan Anda untuk mengarahkan lalu lintas yang cocok dengan aturan tertentu ke alamat IP yang ditentukan. Ini akan meniru menambahkan entri ke / etc / hosts di perangkat iOS Anda. Jika nama host yang disetel dalam permintaan ditangani oleh IP yang Anda arahkan lalu lintasnya, Anda dapat menggunakan ini untuk menguji API pribadi atau bahkan mengendus lalu lintas yang dikirim dari aplikasi atau situs web lain. Sayangnya ini hanya berfungsi untuk koneksi http / https.
Semua ini dapat dilakukan hanya saat menggunakan Wi-Fi (salah satu batasan Weblock). Ada keuntungan utama adalah Anda dapat dengan mudah mengkonfigurasi semuanya dari perangkat iOS Anda dan tidak perlu mengacaukan konfigurasi server DNS / proxy.
Berikut contohnya:
Kunci web juga bagus untuk mengalihkan secara selektif beberapa URL dengan ekspresi reguler. Anda dapat mengarahkan kueri ke titik akhir tertentu saja, sementara semua kueri lainnya masuk ke IP yang dikembalikan dari DNS. Ini sebenarnya memungkinkan konfigurasi yang lebih pas daripada / etc / hosts.
Contoh: Jika saya membuat aturan pengalihan URL untuk htt *: //somedomain.com/api/login* dan beberapa IP dan port, saya hanya akan melihat lalu lintas dari URL ini di IP dan port ini, sementara semua lalu lintas lainnya ke domain tertentu. com akan langsung menuju ke IP yang dikembalikan oleh DNS. Perhatikan bahwa ini akan berfungsi untuk / api / login dan / api / login? Someparam = somevalue berkat tanda wildcard * di akhir aturan.
sumber
Saya membuatnya dengan menggunakan squidman di Mac. Mudah disiapkan dan digunakan.
Saya mengaturnya dalam 5 menit dengan mengikuti artikel ini .
Memperbarui
Hal lain adalah jika Anda ingin terhubung ke situs web yang berjalan di server proxy, dalam kasus saya ini Mac saya, Anda perlu mengomentari baris ini di squidman-> Preferences-> Template
sumber
Anda dapat menyiapkan server DNS internal di jaringan Anda (jika belum ada) dan menyiapkan data A. Kemudian pastikan DHCP Anda diatur untuk mengembalikan server DNS tersebut
sumber
Anda juga dapat menggunakan http://xip.io/ menggunakan petunjuk di halaman itu Anda dapat memasukkan alamat ip dan itu akan mengarahkan Anda ke ip lokal yang relevan.
sumber
Jika Anda memiliki situs web langsung, Anda dapat menggunakan untuk ini:
Anda dapat menambahkan rekam A ke konfigurasi DNS Anda: sesuatu.domainanda.com yang mengarah ke alamat IP lokal Anda, lalu tambahkan entri untuk sesuatu.domainanda.com ke file host virtual Anda. Mulai ulang Apache, dapatkan perangkat iOS Anda di jaringan yang sama dan Anda siap melakukannya.
sumber
Berikut adalah metode tanpa konfigurasi untuk pengujian lintas perangkat / komputer dari host Virtual Mamp Pro. Satu-satunya batasan adalah Anda hanya dapat menguji satu domain dalam satu waktu, tetapi bagi saya ini baik-baik saja saat saya mengembangkan. Namun sangat sederhana untuk mengubah antara host virtual langsung di rawa.
Aku menjalankan mamp pro 2, singa gunung. Folder situs saya berisi folder domain individual.
Saya menemukan jika Anda memilih ip tertentu dari komputer lokal di bawah host virtual 'ip / port' dan restart mamp domain ini akan menjadi domain default saat melihat alamat ip komputer localhost, atau nama komputer, di seluruh jaringan.
Untuk tujuan pengujian, ini berfungsi dengan baik di semua perangkat di jaringan, termasuk iPad. Jika Anda ingin menguji virtual host lain Anda cukup mengembalikan ip / port config ke "*" dan kemudian menetapkan kembali domain lain ke alamat ip komputer dan restart.
Keuntungan dari pendekatan sederhana ini adalah Anda dapat memberikan akses ke klien secara langsung ke situs pengembangan Anda saat Anda berada di jaringan yang sama tanpa harus melalui konfigurasi apa pun di komputer mereka.
Semoga ini bisa membantu orang lain yang mencari solusi sederhana.
sumber
Server DNS internal adalah salah satu opsi tetapi itu terlalu rumit untuk diterapkan. Kami mencoba menginstal squid sebagai server proxy tetapi itu juga tidak berhasil karena mengarahkan URL ke server baru dan pengalihan ini terlihat di URL browser juga.
Hal yang akhirnya berhasil bagi kami adalah menginstal Fiddler di salah satu server dan menggunakan server ini sebagai server proxy di ipad. Fiddler juga memiliki fitur untuk memetakan sub-domain ke alamat IP, yaitu sesuatu yang mirip dengan / etc / hosts.
sumber
Tutorial bagus untuk melakukannya: http://egalo.com/2012/05/29/testing-mac-web-site-using-local-hostname-on-mobile-device/
Cara lain adalah menghubungkan iPad melalui Hotspot Lokal dengan MAC OS X saya dan membuat port-forwarding ke VM pengembangan. Untuk mencapai ini saya telah melakukan langkah-langkah berikut:
ssh -NL <IP-of-hotspot-host>:<source-port>:<url-to-local-vm>:80 <user-to-vm>
<IP-of-hotspot-host>:<source-port>
Di mana mendapatkan 'IP-of-hotspot-host':
Setelah hotspot dibuat, ada WLAN-Point di
pengaturan sistem MAC OS X >> Jaringan >> WLAN
Menambahkan ServerAlias:
Pada VM pengembangan saya (Apache2) di /etc/apache2/sites-available/dkr.dev.local, saya harus menambahkan yang berikut ini:
sumber
Jika Anda telah menjelajahi ini, dan beberapa tautan eksternal, Anda mungkin akan menemukan jawaban ini:
https://stackoverflow.com/a/24770097/3842985
Ini tentang server DNS ringan yang disebut dnsmasq. Sangat sederhana, sangat kuat, dan dapat digunakan bersama dengan server DNS internal atau eksternal Anda.
Jauh lebih mudah daripada menginstal squid, mengutak-atik Apache, dan teknik lain yang akan memakan waktu, dan mempertaruhkan "integritas" konfigurasi, mengembangkan lingkungan, menguji lingkungan, dll.
Layak dipertimbangkan.
Saya mengadopsinya sebagai alat biasa untuk pengembangan dan untuk jaringan normal.
sumber
Menggunakan server DNS khusus di PC dapat mengatasi ini. Saya menggunakan dan bekerja dengan sempurna.
Periksa https://technitium.com/dns/ untuk mengunduh server DNS khusus. Yang dibangun menggunakan teknologi .Net. Setelah mengkonfigurasi alat ini, Anda perlu mengubah pengaturan DNS menjadi kustom dan mengatur IP PC Anda. Untuk menghindari perubahan IP setiap kali Anda me-restart PC, gunakan IP statis pada PC.
sumber
Saya akan mencoba Relay Server (bagian dari Afaria) yang dapat mengarahkan kembali lalu lintas seluler berdasarkan profil.
Pembaruan: Jawaban tremoloqui tampaknya tidak terlalu merepotkan dan jauh lebih murah.
sumber
Jawaban di sini benar. Sedikit lebih banyak pengetahuan: Ini tidak akan berfungsi dengan penyematan sertifikat. Apa yang dapat Anda lakukan adalah (1) menggunakan sertifikat wildcard domain untuk mendukung pengujian wilayah dev / test / qa Anda. Dan / atau (2) gunakan server proxy terbalik seperti Apache di mana Anda mengubah ke mana Apache merutekan permintaan dalam jaringan Anda. Sekarang, ketika Anda masuk ke pengujian SSL Pinning maka Anda mati di air dengan perangkat fisik dan hanya dapat memvalidasi dengan simulator (ios) dan emulator (android).
sumber