Saya ingin menjalankan aplikasi Tomcat melalui URL situs web biasa, seperti www.xyz.com
. Saya ingin agar root domain ini bertindak sebagai direktori dasar untuk aplikasi web, sehingga setiap permintaan www.xyz.com/a/b/c
menjadi www.abc.com:8080/myApp/a/b/c
. Idealnya, saya bisa melakukan ini secara transparan dan hanya untuk aplikasi web tertentu.
www.abc.com:8080
harus tetap menanggapi permintaan.
Apa yang harus saya lakukan untuk mewujudkannya?
apache-2.2
tomcat6
Stefan Kendall
sumber
sumber
Metode yang lebih sederhana untuk melakukan ini adalah dengan hanya menambahkan entri Virtual Host di file conf Apache Anda. Biasanya terletak di / etc / httpd / conf, tambahkan sesuatu seperti ini di akhir bagian Virtual Host:
Mulai ulang layanan Apache Anda dan Anda selesai.
sumber
Anda dapat menggunakan mod_rewrite di Apache untuk melakukan ini. Muat mod_rewrite di Apache Anda dan di www.xyz.com vhost Anda tambahkan aturan berikut:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1
Ini harus melakukan keajaiban.
Info lebih lanjut tentang mod_rewrite di sini .
EDIT : Untuk menjaga nama situs di browser, gunakan mod_proxy juga dengan hanya menambahkan [P] di akhir RewriteRule:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1 [P]
Ini akan memaksa Apache untuk bertindak sebagai proxy untuk URL itu, bukan hanya menulis ulang URL.
sumber
www.xyz.com
dari sisi pengguna.