วิธีสร้างโดเมน“ นามแฝง” สำหรับ URL ทั้งหมด


1

ฉันตั้งค่าเซิร์ฟเวอร์ DNS สำหรับใช้ในเครื่อง LAN แล้ว เซิร์ฟเวอร์นี้สามารถแก้ไขที่อยู่ IP ได้ดังนั้นเมื่อping mypc.companyฉันได้รับการตอบกลับที่สำเร็จจากที่อยู่ IP 192.168.1.34

ปัญหา

ฉันปรับใช้แอพ (myApp) บนเซิร์ฟเวอร์แอปพลิเคชัน Tomcat บนเครื่อง (192.168.1.34) ฉันสามารถเข้าถึงสิ่งนี้ผ่าน URL เหล่านี้:

http://mypc.company:8080/myApp 
http://192.168.1.34:8080/myApp

คำถาม

มีวิธีการตั้งค่าชื่อโดเมน (หรือเทคนิคใด ๆ ) เพื่อที่เมื่อฉันนำทางไปwww.myApp.comซึ่งจะนำฉันไปโดยตรงhttp://192.168.1.34:8080/myAppหรือไม่


คุณสามารถดูการเพิ่ม "www." อ้างอิงถึงhostsไฟล์ของคุณบนคอมพิวเตอร์ LAN ของคุณ
Kinnectus


@Big Chris: พวกเขาเป็นคำถามที่แตกต่างกันมากในคำถามอื่น ๆ มันคือทั้งหมดที่เกี่ยวกับการปรับชื่อโดเมนสำหรับการใช้งานส่วนตัวเท่านั้น แต่สิ่งที่ฉันต้องการคือโดเมนนี้สามารถเข้าถึงได้ผ่านเครื่อง LAN
Kaleb

พวกเขาไม่ใช่คำถามที่แตกต่างกันเลย ... ไฟล์โฮสต์ของคุณสามารถใช้เพื่อเปลี่ยนเส้นทางชื่อโดเมนที่คุณเลือกไปยังชื่อโดเมนที่ต้องการ ไฟล์โฮสต์จะถูกอ่านและใช้งานก่อนเสมอหากพบคู่ที่ตรงกัน หากคุณมี Windows Server คุณสามารถกำหนดค่าให้ใช้ตัวส่งต่อเพื่อขอ www ของคุณ สามารถส่งต่อโดเมนไปยังโดเมนที่ต้องการได้
Kinnectus

@Big Chris: ฉันคิดว่าโดเมนที่คุณส่งต่อคำขอของคุณจะต้องเป็นหมายเลข IP เท่านั้น แต่ตามที่ฉันระบุไว้ในคำถามของฉันฉันต้องการส่งต่อไปยัง URL เฉพาะไม่ใช่ IP
Kaleb

คำตอบ:


2

ใช่และไม่. คุณสามารถลงทะเบียนโดเมนและให้ชี้ไปที่ RFC1918 space (เช่นที่อยู่ที่เริ่มต้น 192.168.xx) สิ่งที่คุณไม่สามารถทำได้คือใช้ DNS หรือการลงทะเบียนชื่อโดเมนเพื่อเปลี่ยนพอร์ตดังนั้นคุณไม่สามารถมีคำขอบน LAN โดยตรงจากพอร์ต 80 ถึงพอร์ต 8080 โดยใช้ DNS หรือการลงทะเบียนโดเมน - คุณจะต้องสกัดกั้นคำขอบน เซิร์ฟเวอร์หรือเราเตอร์ระหว่างเซิร์ฟเวอร์และไคลเอนต์เพื่อแมปพอร์ต

หรือคุณสามารถตั้งค่าบริการเว็บอื่นบนพอร์ต 80 ซึ่งเปลี่ยนเส้นทางไปยังพอร์ต 8080 เพื่อค้นหาคำตอบหลัก - ถ้าคุณพยายามที่จะเข้าถึงทั้งภายในและภายนอกที่อาจเป็นคำตอบที่ง่ายที่สุด


0

ใช่คุณทำได้และมันค่อนข้างง่าย

คุณมีโดเมนจริงที่คุณจ่าย:
เข้าสู่แผงควบคุมของเราบนเว็บไซต์ที่โฮสต์โดเมนของคุณและเข้าถึง DNS จัดการการส่งต่อและตั้งค่าโดเมนย่อยด้วยการปิดบัง

โดเมน
บริษัท

โดเมนย่อยส่งต่อเป็นประเภท
myApp http://company.com:8080/myApp ส่งต่อด้วย Masking 

คุณกำลังสร้างนิยาม DNS ที่จะมีการโทรที่กำหนดไว้ myApp.company.comและมันจะส่งต่อโดยอัตโนมัติไปยัง http: // บริษัท : 8080 / myapp การปิดบังมาเพื่อเล่นโดยที่นิยามยังคงซ่อนอยู่ (ปิดบัง) ใน URL ไม่เช่นนั้นผู้ใช้จะถามmyApp.company.comแต่เมื่อคุณโหลดหน้าเว็บจะเห็น https: // company: 8080 / myAppซึ่งไม่ใช่สิ่งที่ คุณต้องการ.

คุณไม่มีโดเมน
คุณกำลังทำทุกอย่างบน localhost ของคุณ

แก้ไขไฟล์ DNS ในเครื่องของคุณ: LINK

dir : C: \ Windows \ System32 \ Drivers \ etc
ไฟล์ : โฮสต์

ในการแก้ไขไฟล์นี้คุณจะต้องมีสิทธิ์ระดับผู้ดูแลระบบ ในคุณสมบัติของไฟล์นี้คุณสามารถเปลี่ยน Priveleges เพื่อแก้ไขไฟล์ "อ่านอย่างเดียว" นี้

จากนั้นเพียงแค่เปลี่ยนบรรทัดนี้: 127.0.0.1 localhost
เป็นอย่างนี้: 127.0.0.1 greatapp.mytestlocal.com

localhost คือที่อยู่ ip ของ: 127.0.0.1, ip เฉพาะที่ออกแบบมาสำหรับ localhost โดยเฉพาะ


OP กำลังพูดถึง LAN ส่วนตัวของเขา ไม่มีการกล่าวถึงโฮสติ้งโดเมนใด ๆ
Ƭᴇcʜιᴇ007

@ Ƭᴇcʜιᴇ007มันค่อนข้างชัดเจน หากคุณคิดว่าคุณเข้าใจคำถามดีมากคุณควรพิจารณาแก้ไขคำถามของ OP ฉันอ่านและตรวจสอบคำถามของ OP อีกครั้งและยังไม่ชัดเจน 80% แต่ฉันนิยามคำตอบของฉันใหม่เพื่อตอบสนองความกำกวมบางอย่าง แต่ยังไม่มีการตอบสนองจาก OP ดังนั้น ....
ejbytes

อาจต้องการทำเช่นนั้นสำหรับ :: 1
Hennes

สิ่งนี้อาจทำงานได้ แต่ปัญหาเดียวคือฉันไม่สามารถไปทุกเครื่องและแก้ไขไฟล์ DNS ในเครื่องได้
Kaleb

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

0

การเปลี่ยนเส้นทางapp.example.com(ซึ่งจริงๆแล้วhttp://app.example.com:80/) http://192.168.1.2:12345/some/pathเป็นไปไม่ได้โดยใช้ DNS เท่านั้น ปัญหาชัดเจน: แม้ว่าคุณจะสามารถapp.example.comแก้ไขปัญหาได้192.168.1.2แต่บริการที่คุณต้องการเปลี่ยนเส้นทางไปไม่ได้รับฟังบนพอร์ต 80 หรือแม้แต่เส้นทางรูท ( /)

ดังนั้นเราจึงต้องการฟังพอร์ต 80 และนำผู้ใช้ไปยังพอร์ตและพา ธ ที่ถูกต้อง ตามทฤษฎีแล้วเว็บเซิร์ฟเวอร์ใด ๆ ก็สามารถทำได้ ฉันจะไม่เจาะเข้าไปในโฮสต์เสมือนตามชื่อที่นี่ แต่อาจจำเป็นเมื่อทำการเปลี่ยนเส้นทางสำหรับบริการหลาย ๆ แห่ง

เว็บเซิร์ฟเวอร์ปกติสามารถแสดงไฟล์ HTML นี้เพื่อเปลี่ยนเส้นทางผู้ใช้:

<html>
<head>
  <title>Redirecting...</title>
  <meta http-equiv="refresh" content="0; url=http://app.example.com:12345/some/path">
</head>
<body>
  <h1>Redirecting...</h1>
</body>
</html>

การตั้งค่าที่ซับซ้อนยิ่งขึ้นสามารถทำการเปลี่ยนเส้นทางโดยใช้ส่วนหัว HTTP เช่น ใน Apache:

Redirect permanent / http://app.example.com:12345/some/path

เว็บเซิร์ฟเวอร์ไม่จำเป็นต้องทำงานบนเครื่องเดียวกัน มันสามารถเปลี่ยนเส้นทางไปยัง URL ที่ถูกต้อง

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