Saya menjalankan Apache Tomcat dengan SSL diaktifkan. Saya memiliki Apache HTTP Server yang bertindak sebagai proxy terbalik jadi jika pengguna saya menekan http: // myserver / tomcat / mereka diteruskan ke http: // myserver: 8080 .
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
Saya memiliki server HTTP Apache yang dikonfigurasi untuk SSL juga sehingga ketika pengguna menekan https: // myserver / tomcat / mereka harus diteruskan ke https: // myserver: 8443 / .
Dengan konfigurasi ProxyPass & ProxyPassReverse saat ini, mereka akan dialihkan ke URL non-ssl. Bagaimana saya bisa mengatur pass proxy sehingga mengalihkan ke protokol dan port yang berbeda berdasarkan permintaan yang masuk?
Artinya, jika seseorang masuk melalui HTTPS bagaimana saya bisa mengarahkan mereka ke kucing jantan saya di https: // myserver: 8443 ?
Memperbarui:
@ mike-insch
Saya mencoba:
NameVirtualHost *:443
<VirtualHost *:80>
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
</VirtualHost>
<VirtualHost *:443>
ProxyPass /tomcat/ https://myserver:8443/
ProxyPassReverse /tomcat/ https://myserver:8443/
</VirtualHost>
Sekarang ketika saya mengunjungi: https: // myserver / tomcat / Saya mendapatkan "halaman tidak ditemukan". Dalam log kesalahan saya melihat "File tidak ada: / var / apache2 / htdocs / tomcat"
Mana yang benar, tetapi saya mengharapkan permintaan untuk dialihkan ke tomcat berjalan di https: // myserver: 8443 / .
Kira saya perlu melihat lebih banyak pada host virtual, kecuali ada sesuatu yang tampak salah.
sumber
NameVirtualHost
arahan di sini. Anda juga perlu menambahkan arahan yang sesuai untuk mengaktifkan SSL di dalam<VirtualHost *:443>
bagian Anda .Jawaban:
Anda perlu melakukan ini melalui dua
<VirtualHost *:X>
arahan independen .HTTP
Arahan Anda masuk ke dalam<VirtualHost *:80>
sementaraHTTPS
arahan Anda masuk ke dalam<VirtualHost *:443>
. Sesuaikan seperlunya jika server Anda memiliki beberapa host virtual Berbasis Alamat atau Berbasis Nama yang dikonfigurasi. Lihat dokumentasi Apache 2 untuk detail lengkap.sumber
Untuk kelengkapan: jika ini merupakan opsi, itu ide yang baik untuk mengakhiri SSL di Apache, daripada meminta Tomcat menanganinya juga. Menyediakan Tomcat hanya dapat diakses dari Apache, ini lebih sederhana dan tidak kalah aman.
Dalam pengaturan ini, Apache akan mem-proxy HTTP dan HTTPS ke
http://myserver:8080/
:sumber