Tôi có một cá thể Tomcat duy nhất chứa một số ứng dụng web, mỗi ứng dụng có thể truy cập thông qua nó/Ngữ cảnh. Tomcat đứng sau httpd (thực sự là Debian Apache2), được cấu hình với các máy chủ ảo để phục vụ từng ứng dụng/Ngữ cảnh. Kết nối Tomcat với mod_jk.Xóa ngữ cảnh Tomcat khỏi URL cho máy chủ ảo (mod_jk, mod_rewrite)
Điều này hoạt động tốt khi tôi không quan tâm đến việc xóa ngữ cảnh khỏi url: khi thư mục gốc của miền ảo được yêu cầu, yêu cầu được chuyển hướng đến domain.com/Context.
Tuy nhiên đối với một ứng dụng, tôi làm muốn xóa ngữ cảnh. Tôi tin rằng điều này có thể được thực hiện bằng cách sử dụng mod_rewrite và chuyển url được viết lại thành mod_jk để chuyển sang ngữ cảnh Tomcat chính xác. Vì vậy, tôi tập sites-available Debian Apache2 trông như thế này:
NameVirtualHost *
<VirtualHost *>
ServerName domain.be
DocumentRoot /home/webapp/app/static/domain/
RewriteEngine on
RewriteRule ^/(.*)$ /Context/$1 [L,PT]
RewriteLog "/var/log/apache2/domain-rewrite.log"
RewriteLogLevel 4
JkLogFile /var/log/apache2/domain-mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /Context w1
JKMount /Context* w1
JkOptions +ForwardURICompat
ErrorLog /var/log/apache2/domain_error.log
CustomLog /var/log/apache2/domain_access.log combined
LogLevel warn
</VirtualHost>
Theo các tài liệu, các [PT] cờ và + ForwardURICompat tùy chọn nên kết quả trong URL viết lại được thông qua để jk_mod. Tuy nhiên điều đó dường như không xảy ra.
URL đang được viết lại, nhưng dường như mod_jk bỏ qua nó: Yêu cầu cho miền.be/Context chẳng hạn được viết lại thành/Context/Context - nhưng vẫn được chuyển đến mod_jk dưới dạng/Ngữ cảnh.
Bất kỳ ý tưởng nào? Ngẫu nhiên, tôi không thể sử dụng mod_proxy tại thời điểm này.
Cảm ơn
Bạn đúng là giải pháp ban đầu của tôi không phải là cách tốt nhất và đầy nguy hiểm. Nhưng kể từ khi đăng bài đó, tôi đã sử dụng Tomcat VirtualHosts với nhiều thành công. Mặc dù không nghe nói về những người sử dụng nó nhiều, nó chắc chắn là những gì người ta sẽ muốn sử dụng trong tình huống này và không phải ở tất cả các khó khăn sau khi tạo ra một. –