Виртуальные хосты, apache, mod-jk и tomcat [закрыто]

У меня есть приложение tomcat (работающее на 8080) на моем сервере Cent OS, и я могу получить к нему доступ по URL:

SERVER_IP:8080/myapp

и У меня есть панель администратора на

SERVER_IP:8080/myapp/admin

, и у меня есть сервер apache, работающий на порту 80.

У меня два домена:

www.myapp.com
admin.myapp.com

Мне удалось настроить сервер tomcat, mod_jk и apache таким образом, чтобы admin.myapp.com url открывает домашнюю страницу tomcat (SERVER_IP: 8080).

Но я хочу создать URL-адрес admin.myapp.com для открытия SERVER_IP: 8080 / myapp / admin и www.myapp.com для открытия SERVER_IP: 8080 / myapp.

Мне нужно, чтобы apache узнал, когда запрос пришел на admin.myapp.com, он должен знать, что нужно перенаправить запрос на SERVER_IP: 8080 / myapp / admin. Очевидно, чего-то не хватает.

Вот мои конфигурации:

httpd.conf (admin.myapp.com.conf на самом деле потому, что он создается панелью plesk, но я думаю, что это неактуально)

<VirtualHost SERVER_IP:80 >
    ServerName "admin.myapp.com:80"
    ServerAlias "www.admin.myapp.com"
    ServerAlias "ipv4.admin.myapp.co"
    ServerAdmin "cuneyty@mycompany.com"
    UseCanonicalName Off

    JkMount / ajp13
    JkMount /* ajp13

    ....
</VirtualHost>

mod_jk.conf

# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module modules/mod_jk.so

# Where to find workers.properties
# Update this path to match your conf directory location
JkWorkersFile /usr/local/tomcat7/conf/workers.properties

# Where to put jk logs
# Update this path to match your logs directory location
JkLogFile /usr/local/tomcat7/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel debug

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

worker.properties

# Define 1 real worker named ajp13
worker.list=ajp13

# Set properties for worker named ajp13 to use ajp13 protocol,
# and run on port 8009
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.lbfactor=50
worker.ajp13.cachesize=10
worker.ajp13.cache_timeout=600
worker.ajp13.socket_keepalive=1
worker.ajp13.socket_timeout=300

Заранее спасибо.

0
задан 19 December 2014 в 16:02
1 ответ

Я выяснил это, используя mod_proxy вместо mod_jk и добавив эти строки :

ProxyPass / http:// SERVER_IP:8080/ 
ProxyPass /myapp/ http:// SERVER_IP:8080/myapp

И эту строку для cookies :

ProxyPassReverseCookiePath /myapp /"
2
ответ дан 4 December 2019 в 13:53

Теги

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