Bagaimana cara membuat titik URL ke instance Tomcat?

8

Maaf jika pertanyaan ini tidak masuk akal (tidak ada ahli di sini), tapi saya mengerti bahwa kucing jantan mendengarkan port 8080 dan bahwa url biasanya ditujukan ke 80. Apakah ada cara untuk memberitahu DNS bahwa url harus mengarah ke 8080? Atau bagaimana saya harus mengatasi masalah ini?

Jérôme Verstrynge
sumber
kemungkinan duplikat Mengarahkan DNS ke port yang berbeda
mailq
Saya pikir artikel ini menjelaskan bagaimana SRV dapat digunakan untuk menentukan port . Namun, tampaknya port URI diprioritaskan daripada port yang ditugaskan DNS. Seperti yang saya pahami, browser web secara otomatis menambahkan port 80 ke alamat, yang mungkin menjelaskan mengapa saya belum berhasil membuat pendekatan ini bekerja.
Andy2K11

Jawaban:

8

DNS tidak tahu apa-apa tentang port. Jika Anda ingin kucing jantan mendengarkan pada port 8080 maka Anda memiliki beberapa opsi. Yang pertama adalah pengguna nomor port di URL

http://example.com:8080/

Jika Anda tidak suka melihatnya maka Anda dapat menggunakan server web Anda sebagai proxy port misalnya di Apache Anda dapat menggunakan 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>
user9517
sumber
Bagaimana jika Anda memiliki host lain yang mendengarkan pada port 80? Saya memiliki 2 server pada satu mesin (diperlukan dalam kasus ini) tetapi ingin menyembunyikan nomor port di URL walaupun itu adalah satu-satunya yang mendengarkan lalu lintas ke server web itu.
Jay Blanchard
@JayBlanchard Saya tidak begitu mengerti komentar Anda dan tidak akan ditarik lebih jauh dari mengatakan membaca dokumentasi pada virtual host berbasis nama dan mod_proxy.
user9517
2

Ini dilakukan oleh http://the.site.invaild:8080/.

Tidak mungkin untuk memberikan port di DNS. DNS hanya memetakan nama ke IP. Tapi tidak ada port.

mailq
sumber
2

Saya pikir yang terbaik adalah membuat kucing jantan Anda untuk mendengarkan port 80. Anda dapat melakukan ini jika tidak ada server lain mendengarkan port 80. Untuk itu Anda dapat mengedit server.xml

Ubah sebagai berikut,

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

Sekarang Anda dapat mencoba http://example.com/.Ini akan dengan benar memperbaiki instance kucing jantan Anda. Karena port default http adalah 80.

sunnychayen
sumber
Saya mencoba contoh Anda tetapi tidak bekerja untuk saya
Luffy
2

Mungkin ada kemungkinan dalam menyelesaikan ini melalui DNS: SRV-Records

Dengan SRV-Records pada dasarnya Anda memberi tahu DNS untuk menjawab pertanyaan seperti "di mana httpd dari example.org"? Dan DNS menjawab dengan Alamat-IP DAN Portnumber.

Meskipun saya tidak tahu apakah klien meminta informasi ini atau jika browser hanya melakukan pencarian A-Record dan meminta situs web dari IP yang diberikan menggunakan port 80, ini mungkin patut dicoba jika Anda ingin melakukannya dengan DNS.

Jika tidak: Biarkan eter Tomcat mendengarkan port 80 atau mengarahkan 8080 ke Tomcat melalui mod_proxy Apache.

Subito
sumber
Browser umum belum memiliki dukungan untuk pencarian catatan SRV - lihat homepage.ntlworld.com/jonathan.deboynepollard/FGA/… dan diskusi di sini .
the-wabbit