Почему некоторые переписывают сбой правил, в то время как AJP служит всем моим запросам к Tomcat?

Я видел непоследовательную корреспонденцию между скоростью канала, о которой сообщают, и фактической пропускной способностью в VMware. Я предложил бы использовать что-то как iperf для получения измеренного результата.

1
задан 13 April 2017 в 15:14
3 ответа

Хорошо, я наконец понял это для меня. Протокол AJP работает по-другому, чем правила типа HTTP и таким образом, они не смешались бы. Для решения его я должен был прекратить перенаправлять все к AJP и вместо этого просто перенаправить приложение только с помощью AJP. Здесь был ответ:

# don't ProxyPass through the "/" dir location,
# since it breaks the mod_rewrite rules
<Location /myapp>
    ProxyPass ajp://localhost:8009/myapp
    ProxyPassReverse ajp://localhost:8009/myapp
</Location>
RewriteEngine On
# rule to redirect from http to https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# rule to redirect /  to the app context since nothing is served at /
Redirect /  /myapp?name=
# supplemental rules to handle URI shortcuts
RedirectMatch ^/(?i)name1   /myapp?name=NameOne
RedirectMatch ^/(?i)name2   "/myapp?name=Name%20Two"
2
ответ дан 3 December 2019 в 22:10

Вы могли преобразовать свои директивы ProxyPass и ProxyPassReverse в директивы RewriteRule вместо этого, с помощью [P] для проксирования запроса, как так:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule (.*) ajp://localhost:8009/$1 [P]
1
ответ дан 3 December 2019 в 22:10
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule rewrite_module modules/mod_rewrite.so

RewriteEngine On
RewriteRule  ^/$  /index.html  [L]

# RequestHeader set REMOTE_USER %{LA-U:REMOTE_USER}e
RewriteCond %{REQUEST_URI} !^/fusioncp
ReWriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^(.*) ajp://localhost:18009$1 [P]
-1
ответ дан 3 December 2019 в 22:10

Теги

Похожие вопросы