2008-12-02 39 views
5

Tôi biết cách thiết lập máy chủ web cục bộ bằng cách sử dụng xampp trên windows ... Tôi nhập bí danh và mục tiêu của mình trên tệp máy chủ (c: \ windows \ system32 \ drivers \ etc \ hosts) và sau đó thêm mục nhập tương ứng trên tập tin cấu hình apache vhosts. Bằng cách này, giả sử máy chủ web của tôi đang nghe cổng 80, tôi có thể lấy bản đồ example.com tới máy chủ web cục bộ của tôi.Chỉ có thể chuyển tiếp trên một cổng 8080 đến localhost (windows)?

Tôi đã luôn nhập toàn bộ tên miền (ví dụ: example.com) vào tệp lưu trữ của mình và mọi yêu cầu về tên đó sẽ được chuyển hướng đến máy chủ cục bộ.

Bây giờ tôi đã tự hỏi nếu có một cách để chỉ chuyển tiếp example.com trên một cổng nhất định (ví dụ: example.com:8080) tới máy chủ web cục bộ và để example.com (trên cổng mặc định 80) một mình, để nó vẫn sẽ đi đến trang web sản xuất trực tiếp của tôi.

Theo như tôi hiểu điều này có thể không thực hiện được chỉ sử dụng các tập tin host (Tôi đã thử thêm các cổng: 8080 đến tên miền của tôi - không có vẻ làm việc ;-)) ...

Tôi thực sự không biết nhiều về chủ đề này vì vậy bất kỳ ý tưởng, thông tin chi tiết, liên kết, tài liệu đọc, công cụ đều được chào đón.

Chỉnh sửa: Trả lời của Arnout trả lời câu hỏi tôi đã hỏi ở trên nhưng không giải quyết được vấn đề thực tế của tôi. Rerouting example.com:8080 đến localhost: 80 không hoạt động và nếu tôi truy cập example.com, nó tải lên frontpage của phiên bản cục bộ của tôi, nhưng tất cả các liên kết trên trang đó tất nhiên không biết về số cổng và do đó trỏ đến phiên bản sản xuất ... Giải pháp thực tế cho vấn đề của tôi dường như là cắn vào quả táo chua và sửa lỗi ứng dụng của tôi (theo đề xuất của Rob) và xóa tất cả url được mã hóa, để nó hoạt động trên bất kỳ miền nào ...

Trả lời

4

Internet Junkbuster (máy chủ proxy) có thể thực hiện việc này bằng chức năng forwarding.

Chỉ cần thêm một dòng như

example.com:8080 localhost:80 . . 

để sforward.ini, và bỏ ghi chú dòng forwardfile trong junkbstr.ini. Bây giờ hãy cấu hình trình duyệt của bạn để sử dụng máy chủ proxy chạy tại cổng 8000 của máy chủ cục bộ và bạn đã được thiết lập.

Tôi chắc chắn rằng các máy chủ proxy khác có tính năng tương tự — Tôi giống như Junkbuster vì nó là một tệp thực thi độc lập đơn giản.

+0

Tác phẩm này và trả lời câu hỏi ban đầu của tôi ... ;-) – Ben

2

Bạn đang phát trong lĩnh vực dịch vụ tên miền (DNS). Về mặt kỹ thuật, với cấu hình DNS nâng cao (có thể bao gồm các cổng remapping), những gì bạn đề xuất là có thể và nó được thực hiện thường xuyên trên Internet. Tuy nhiên, có vẻ như bạn sẽ không muốn gặp nhiều rắc rối và chi phí tại địa phương.

Mặt khác, tôi nghi ngờ rằng vấn đề thực sự của bạn có thể được giải quyết dễ dàng hơn. Tại sao bạn muốn có "example.com" giải quyết cho máy chủ web địa phương của bạn? Bạn đã có thể tham chiếu đến máy chủ web cục bộ của mình dưới dạng "localhost", dưới dạng "127.0.0.1" và thông qua tên máy được gán "workstation-x".

Lý do duy nhất tôi có thể nghĩ và muốn xem máy chủ web cục bộ của bạn có cùng tên máy chủ với máy chủ web sản xuất của bạn là do mã hóa máy chủ lưu trữ trên máy chủ của bạn trong các trang web của ứng dụng của bạn. Nếu đó là trường hợp ở đây, câu trả lời là đơn giản: không! Bạn nên LUÔN triển khai các ứng dụng web của bạn để chúng tham khảo mọi thứ (các trang khác, CSS, JS, hình ảnh, vv) liên quan đến máy chủ được triển khai. Nếu bạn triển khai trên nhiều máy chủ thì tài liệu tham khảo của bạn phải tuyệt đối dựa trên tên máy chủ lưu trữ có thể định cấu hình. Điều này rất dễ làm, và không có lý do gì để không làm điều đó.

Nếu điều này không đúng, hãy giải thích những gì bạn đang cố gắng đạt được và điều gì thúc đẩy bạn thử.

CHỈNH SỬA: Vì bạn đã xác nhận rằng sự cố là các tham chiếu được mã hóa cứng đến tên máy chủ sản xuất trong các trang web, hãy để tôi chỉ thêm rằng tôi có LUÔN LUÔN, KHÔNG CÓ NGOẠI HỐI, thấy rằng nó rẻ hơn để sửa lỗi vấn đề thực sự hơn là tích lũy cách giải quyết (chẳng hạn như nỗ lực của bạn để remap cổng). Tôi chưa bao giờ gặp một tác giả nào đã tranh luận ngược lại.

Sửa các trang sẽ khó hơn một chút so với tìm kiếm toàn cầu & thay thế, đặc biệt là với trình chỉnh sửa văn bản thuần túy. Ngay cả viết một kịch bản đơn giản để thay đổi các tập tin nguồn sẽ được bao la rẻ hơn và dễ dàng hơn so với những nỗ lực của bạn tại một workaround.

Bất kể, mong muốn tốt nhất đối với bạn và cho chúng tôi biết cách nó bật ra.

+0

Tôi không nghĩ rằng điều này liên quan đến DNS. DNS không quan tâm đến các cổng, chỉ về tên máy chủ và địa chỉ IP. – Arnout

+0

Vâng vâng, tiếc là nó được mã hóa cứng và tôi không thể làm gì nhiều về nó. Tôi biết rằng cách bạn mô tả nó là làm thế nào nó nên được thực hiện nhưng đôi khi, đặc biệt là khi làm việc với mã cũ hơn, bạn có thể không có một sự lựa chọn; và chỉ đơn giản bằng cách sử dụng một cổng khác có vẻ "rẻ hơn" so với phần mềm viết lại ... – Ben

0

Bạn có thể xác nhận xem cổng 8080 có đang nghe trên máy chủ web không? sử dụng lệnh "netstat -na" để xem cổng 8080 có đang nghe hay không.

Bạn có thêm 8080 cổng trên tệp cấu hình apache giống như cổng 80 mặc định không?

Khi bạn thêm cổng 8080 vào tệp cấu hình apache để nghe và kiểm tra xem cổng 8080 có đang nghe trên máy chủ web hay không, bạn có thể truy cập trang bằng cổng 8080. chẳng hạn như http://mytestwebserver:8080/index.html hoặc một cái gì đó tương tự ...

Các vấn đề liên quan