Перенаправить Apache на Tomcat на Vesta CP

У меня есть VPS-сервер с Ubuntu 18 O.S. На этом VPS я установил VESTA CP, который поставляется с Apache 2 и Nginx. После этого я установил Tomcat 9 (порт 8082) для обслуживания веб-приложения на основе Java Spring. Если я введу адрес «serverIP: 8082 / AppFolder», я смогу получить доступ к приложению, но я хочу перенаправить сервер apache на сервер tomcat, чтобы я мог написать имя домена и загрузить веб-приложение.

Я пробовал файл .htaccess, но он показывает страницу с ошибкой apache. У меня нет разрешения на просмотр этого файла, это сообщение.

Что я могу сделать, чтобы решить эту проблему?

-Nginx config:

location / {
    proxy_pass      http://IP:8080;
    location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
        root           /home/admin/web/webapp.com/public_html;
        access_log     /var/log/apache2/domains/webapp.com.log combined;
        access_log     /var/log/apache2/domains/webapp.com.bytes bytes;
        expires        max;
        try_files      $uri @fallback;
    }
}

location /error/ {
    alias   /home/admin/web/webapp.com/document_errors/;
}

location @fallback {
    proxy_pass      http://IP:8080;
}

-Apache config:

<VirtualHost IP:8080>

    ServerName webapp.com
    ServerAlias www.webapp.com
    ServerAdmin [email protected]
    DocumentRoot /home/admin/web/webapp.com/public_html    
    ScriptAlias /cgi-bin/ /home/admin/web/webapp.com/cgi-bin/
    Alias /vstats/ /home/admin/web/webapp.com/stats/
    Alias /error/ /home/admin/web/webapp.com/document_errors/
    #SuexecUserGroup admin admin
    CustomLog /var/log/apache2/domains/webapp.com.bytes bytes
    CustomLog /var/log/apache2/domains/webapp.com.log combined
    ErrorLog /var/log/apache2/domains/webapp.com.error.log
    <Directory /home/admin/web/webapp.com/public_html>
        AllowOverride All
        Options +Includes -Indexes +ExecCGI
        php_admin_value open_basedir /home/admin/web/webapp.com/public_html:/home/admin/tmp
        php_admin_value upload_tmp_dir /home/admin/tmp
        php_admin_value session.save_path /home/admin/tmp
    </Directory>
    <Directory /home/admin/web/webapp.com/stats>
        AllowOverride All
    </Directory>

    <IfModule mod_ruid2.c>
        RMode config
        RUidGid admin admin
        RGroups www-data
    </IfModule>
    <IfModule itk.c>
        AssignUserID admin admin
    </IfModule>

    IncludeOptional /home/admin/conf/web/apache2.webapp.com.conf*

</VirtualHost>

Спасибо.


person Pedro    schedule 10.11.2018    source источник


Ответы (1)


Наконец-то я нашел ответ ... редактируя файл конфигурации nginx:

proxy_pass      http://IP:8082; <--TOMCAT PORT
root           /home/admin/web/webapp.com/public_html; <--JSP PAGES PATH

В конфигурационном файле по умолчанию указан порт Apache и путь к html-страницам apache. Я полагаю, что это можно сделать с помощью apache proxy_mod, но я не знаю, какой способ лучше ... если кто-нибудь может объяснить оба способа (через apache или через nginx), я ценю это.

person Pedro    schedule 11.11.2018