วิธีใช้ ipad ในการเข้าถึงเว็บเซิร์ฟเวอร์บน macbook air


8

ซอฟต์แวร์เว็บเซิร์ฟเวอร์ของฉันคือ nginx ซึ่งทำงานได้ดีบน macbook air โดยใช้ mac os x 10.7.5

เมื่อฉันไปที่http: //myapp.localhostบน macbook air ของฉันฉันสามารถเข้าถึงเว็บไซต์ของฉันได้อย่างสมบูรณ์แบบซึ่งทำงานบน localhost

ฉันจะเข้าถึงเว็บไซต์จาก iPad ของฉันได้อย่างไร ฉันถามเพราะฉันต้องการทดสอบว่าเว็บไซต์ของฉันอนุญาตให้แท็บเล็ตสามารถเข้าถึงได้เช่นกันบนเบราว์เซอร์เดสก์ท็อปหรือไม่

ฉันมีสองการตั้งค่าที่เป็นไปได้

1) macbook air ที่ใช้ HUAWEI-MOBILEModem และใช้ INTERNET SHARING เพื่ออนุญาตให้ iPad เข้าถึง

2) เมื่อทั้ง macbook air และ iPad กำลังเข้าถึงการเชื่อมต่อ WIFI เดียวกัน

โปรดระบุวิธีแก้ปัญหาสำหรับทั้งสองสถานการณ์

อัปเดต: ฉันมีแอปมากกว่า 1 แอปทำงานบน macbook air nginx เว็บเซิร์ฟเวอร์

เพื่อความสะดวกขอเรียกพวกเขา

เป็นต้น

iPad ของฉันจะเข้าถึง webapp ที่ถูกต้องที่โฮสต์บน macbook air ได้อย่างไร

UPDATE

บน macbook air ของฉันฉันเข้าถึง webapps ที่แตกต่างกันเพราะฉันแก้ไขไฟล์ / etc / hosts ของฉัน


1
คุณเปิดให้โซลูชั่นที่ช่วยให้คุณใช้พอร์ตที่แตกต่างกัน / หลาย nginx เพื่อแยกเว็บแอปหรือคุณต้องการหนึ่งอินสแตนซ์อย่างแท้จริงและต้องแยกสิ่งต่าง ๆ ด้วย URL เท่านั้น ฉันโชคดีที่ได้โหลด NIC มากเกินไปเพื่อให้มีที่อยู่ IP หลายแห่งและใช้xip.ioเพื่อแก้ไขที่อยู่ท้องถิ่นที่ไม่สามารถกำหนดเส้นทางได้
bmike

ฉันไม่รังเกียจที่จะได้ยินความคิด @bmike
Kim Stacks

คำตอบ:


3

ในทั้งสองสถานการณ์การใช้ IP หรือที่อยู่machinename.local ที่อยู่ของ Mac จะให้เว็บไซต์เริ่มต้นบน Mac นั้นเท่านั้น เว็บแอปของคุณอยู่ในระดับบนสุดดังนั้น Nginx คาดหวังชื่อโฮสต์ที่แตกต่างกันในคำขอ ปัญหาคือชื่อโฮสต์เหล่านี้ลงท้ายด้วย. localhost ซึ่งไม่ได้รับการแก้ไขโดย DNS ดังนั้น iPad จึงไม่ทราบว่า myapp2.localhost อยู่ที่ไหนและคำขอไม่เคยไปถึง Nginx บน Mac

คุณได้รับปัญหานี้แล้วเมื่อทดสอบจาก Mac บางทีคุณอาจแก้ไขไฟล์ / etc / hosts หรือคุณมี GUI ที่ทำเช่นนั้น? อย่างไรก็ตามคุณไม่สามารถแก้ไขไฟล์โฮสต์ iPad ได้โดยไม่ต้องเจลเบรค

วิธีแก้ปัญหาง่ายๆคือเปลี่ยนเว็บไซต์เริ่มต้นใน Nginx เป็น webapp ที่คุณต้องการทดสอบจาก iPad - จากนั้นคุณสามารถใช้ที่อยู่machinename.localจาก iPad แต่คุณต้องเปลี่ยนสิ่งนี้ทุกครั้งที่คุณต้องการทดสอบเว็บแอปอื่น

วิธีแก้ปัญหาที่ซับซ้อนกว่านี้คือก) กำหนดค่า Apache บน Mac เป็นพร็อกซีเซิร์ฟเวอร์และกำหนดค่าเบราว์เซอร์ iPad เพื่อใช้เป็นพร็อกซี b) ตั้งค่าเซิร์ฟเวอร์ DNS ในเครือข่ายท้องถิ่นของคุณ c) ใช้แทนเครื่องจำลอง iPad บน Mac ในขณะที่แก้ไขไฟล์ / etc / hosts; หรือ d) แหกคุก iPad และแก้ไข / etc / hosts


1
ใช้ iPad กับเซิร์ฟเวอร์พร็อกซี่: stackoverflow.com/questions/6917107/…
wrk2bike

ฉันไม่ต้องการที่จะแหกคุกหรือใช้โปรแกรมจำลอง ฉันต้องการทดสอบแอพหลายตัวอย่างง่ายดาย ดังนั้นฉันเหลือตัวเลือกนี้ตามความคิดเห็นของคุณ stackoverflow.com/a/11757977/80353
Kim Stacks

อย่างไรก็ตามฉันมีปัญหา ฉันตั้งค่า iPad ให้ใช้คู่มือพร็อกซี่ที่มีที่อยู่ ip ของ macbook และพอร์ตที่ฉันใช้ 80 แต่ฉันยังไม่สามารถเข้าถึงmyapp1.localhost
Kim Stacks

โอ้ขอโทษฉันเพิ่งรู้ว่าฉันต้องเปิด charles ของฉันแล้วตั้งค่าพอร์ตเป็น 8888
Kim Stacks

ฉันต้องการเพิ่มว่าโซลูชันส่วนบุคคลของฉันคือการติดตั้ง charles แล้วใช้ charles บน macbook air ของฉัน ใน iPad ฉันจะเปิดพร็อกซี http ด้วยตนเอง
Kim Stacks

3

localhost เฉพาะอุปกรณ์ดังนั้นการเยี่ยมชมบน iPad ของคุณคือการนำคุณไปยังหน้าบน iPad ของคุณเอง (ซึ่งอาจไม่มีอยู่)

ในการเข้าถึงหน้าเว็บที่ให้บริการตั้งแต่ Mac ของคุณจาก iPad ของคุณให้ใช้อยู่ในท้องถิ่นของ Mac localhostแทน ในการรับ IP ในเครื่องของ Mac ให้เปิดบานหน้าต่างเครือข่ายของการตั้งค่าระบบ เลือกเครือข่ายที่ใช้งานของคุณทางด้านซ้ายและ IP จะปรากฏทางด้านขวาภายใต้หัวข้อการเชื่อมต่อ มันอาจจะเป็นสิ่งที่มีลักษณะเหมือนหรือ10.0.1.1127.0.1.1


มีวิธีให้ฉันกำหนดชื่อเครื่องเฉพาะให้กับ macbook air ของฉันแล้ว iPad สามารถค้นหาผ่านชื่อเครื่องได้หรือไม่
Kim Stacks

ฉันได้แก้ไขคำถามเดิมของฉันเล็กน้อย ฉันลืมที่จะพูดถึงฉันมี webapps หลายโฮสต์ในเว็บเซิร์ฟเวอร์ใน macbook air ของฉัน สิ่งนี้จะเปลี่ยนคำตอบของคุณได้อย่างไร
Kim Stacks

@kimsia ใช่คุณสามารถเปลี่ยน IP computerName.localด้วย ดูคำตอบนี้ แอพหลายตัวไม่เปลี่ยนคำตอบเพียงทำตามปกติและแทนที่localhostด้วย IP ดังนั้นหากคุณไปที่ปกติให้http://localhost:8888/someApp/index.htmlไปhttp://IPAddress:8888/someApp/index.htmlที่IPAddressIP ท้องถิ่น
Nathan Greenstein

ปกติฉันไปที่myapp1.localhostเพื่อเข้าถึง application1 และmyapp2.localhostเพื่อเข้าถึง application2 แล้วมันทำงานอย่างไรสำหรับการเข้าถึงจาก iPad
Kim Stacks

และฉันก็ไม่แน่ใจว่าข้อเสนอแนะของคุณสำหรับสถานการณ์ 1 หรือ 2 หรือทั้งสองอย่าง?
Kim Stacks

2

คุณสามารถลองป้อนชื่อโฮสต์ของ Mac ตามด้วย. local

ดังนั้นหากชื่อคอมพิวเตอร์ของคุณคือ epsilon

    http://epsilon.local

ตามที่ระบุไว้โดยนาธานที่อยู่ IP จะทำงาน แทนที่ IP ตัวอย่างของฉันด้วย IP จริงของคุณ

    http://192.168.1.1

คุณจะเพิ่มข้อมูลแอปเฉพาะที่ส่วนท้ายของที่อยู่เหล่านี้ ดังนั้นสิ่งที่เกิดขึ้นหลังจากhttp: // localhostจะถูกผนวกเข้ากับท้าย URL เหล่านี้


ไม่ได้ผลสำหรับฉัน ฉันไม่แน่ใจว่าทำไม สิ่งอื่นใดที่ฉันสามารถลองได้
Kim Stacks

และฉันก็ไม่แน่ใจว่าข้อเสนอแนะของคุณสำหรับสถานการณ์ 1 หรือ 2 หรือทั้งสองอย่าง?
Kim Stacks

นี่คือการทำงานให้แน่ใจว่าได้ใช้ http จากนั้นที่อยู่ ip
GusDeCooL

-1

ฉันคิดว่าสิ่งที่ง่ายที่สุดที่จะทำคือรับที่อยู่ IP ของโฮสต์ ตัวอย่างเช่นในบรรทัดคำสั่งเรียกใช้สิ่งนี้:

curl icanhazip.com

คุณจะได้รับที่อยู่ IP ภายนอกของคุณ {อธิบายไว้ด้านล่างเป็น $ IP_ADDRESS}

จากนั้นบน iPad ของคุณเพียงชี้เบราว์เซอร์ไปยังที่อยู่ IP นั้น:

http://$IP_ADDRESS/

วิธีทำขดใน iPad? Hehehe
GusDeCooL

-1
  • เปิดใช้งานการแชร์เว็บ: เปิดการแชร์เว็บ

  • วางเว็บไซต์ของคุณไว้ข้างใน ~/Sites

  • เข้าถึงผ่าน URL ตามที่แสดงด้านบน

3
แน่นอนว่าจะถือว่า Lion หรือก่อนหน้านี้เนื่องจาก "การแบ่งปันเว็บ" ไม่ปรากฏที่นี่ใน Mountain Lion
GEdgar

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.