Làm cách nào để tạo một URL trỏ đến một ví dụ Tomcat?


8

Xin lỗi nếu câu hỏi này không có ý nghĩa (không có chuyên gia ở đây), nhưng tôi hiểu rằng tomcat lắng nghe cổng 8080 và url đó thường được gửi đến 80. Có cách nào để nói với DNS rằng các url nên trỏ đến 8080 không? Hoặc tôi nên giải quyết vấn đề này như thế nào?



Tôi nghĩ rằng bài viết này giải thích cách SRV có thể được sử dụng để chỉ định một cổng . Tuy nhiên, dường như một cổng URI được ưu tiên hơn cổng được gán DNS. Theo tôi hiểu, các trình duyệt web tự động thêm cổng 80 vào địa chỉ, điều này có thể giải thích lý do tại sao tôi không quản lý để phương pháp này hoạt động.
Andy2K11

Câu trả lời:


8

DNS không biết gì về cổng. Nếu bạn muốn có tomcat nghe trên cổng 8080 thì bạn có một vài lựa chọn. Đầu tiên là sử dụng số cổng trong URL

http://example.com:8080/

Nếu bạn không muốn tìm kiếm điều đó thì bạn có thể sử dụng máy chủ web của mình làm proxy cổng, ví dụ như trong Apache, bạn có thể sử dụng mod _ proxy

<VirtualHost *:80>
        ServerName      example.com
        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                allow from all
        </Proxy>
        ProxyPreserveHost On
        ProxyPass / http://example.com:8080/
        ProxyPassReverse / http://example.com:8080/
        ProxyErrorOverride Off
</VirtualHost>

Điều gì nếu bạn có một máy chủ khác nghe trên cổng 80? Tôi có 2 máy chủ trên một máy (bắt buộc trong trường hợp này) nhưng muốn ẩn số cổng trong URL ngay cả khi đó là máy chủ lắng nghe lưu lượng truy cập đến máy chủ web đó.
Jay Blanchard

@JayBlanchard Tôi không thực sự hiểu bình luận của bạn và sẽ không bị lôi kéo thêm ngoài việc nói đọc tài liệu về tên máy chủ ảo dựa trên tên và mod_proxy.
dùng9517

2

Điều này được thực hiện bởi http://the.site.invaild:8080/.

Không thể đưa ra một cổng trong DNS. DNS chỉ ánh xạ tên thành IP. Nhưng không có cổng.


2

Tôi nghĩ rằng tốt nhất là làm cho tomcat của bạn nghe cổng 80. Bạn có thể làm điều này nếu không có máy chủ nào khác nghe cổng 80. Để bạn có thể chỉnh sửa server.xml

Thay đổi như sau

<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Bây giờ bạn có thể thử http://example.com/. Điều này sẽ giải quyết chính xác đối với trường hợp tomcat của bạn. Bởi vì cổng mặc định của http là 80.


Tôi đã thử ví dụ của bạn nhưng nó không hiệu quả với tôi
Luffy

2

Có thể có khả năng giải quyết vấn đề này thông qua DNS: SRV-Records

Với SRV-Records, về cơ bản, bạn yêu cầu DNS trả lời một câu hỏi như "httpd từ example.org" ở đâu? Và câu trả lời DNS với Địa chỉ IP VÀ Số cổng.

Mặc dù tôi không biết khách hàng có yêu cầu thông tin này không hoặc nếu trình duyệt chỉ thực hiện tra cứu A-Record và yêu cầu trang web từ IP đã cho bằng cổng 80, điều này có thể đáng để thử nếu bạn muốn thực hiện với DNS.

Mặt khác: Hãy để ether Tomcat nghe cổng 80 hoặc chuyển hướng 8080 sang Tomcat thông qua mod_proxy của Apache.


Các trình duyệt phổ biến chưa hỗ trợ tra cứu bản ghi SRV - xem trang chủ.ntlworld.com/jonathan.deboynepollard/FGA/ trộm và thảo luận tại đây .
the-wợi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.