Проблема переписать URL-адрес apache в nodeJS с помощью mod_cluster willdfly

У меня есть apache с mod_cluster для кластера wildfly

У меня есть один виртуальный хост на 443

У меня есть nodeJS на 8443 на том же сервере apache

Я хочу перенаправить server/api на сервер: 8443 (nodejs)

NODEJS и apache находятся на одном сервере (apache 443, nodejs 8443)

<VirtualHost ip:443>

ServerName server

    SSLProtocol all -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLEngine on
    SSLCipherSuite ALL:!MD5:!EXPORT:!DES:!3DES:!DHE:!EDH:!RC4:!aNULL:!eNULL:!MEDIUM:!LOW
    SSLCertificateFile /etc/httpd/certs/newcert.pem
    SSLCertificateKeyFile /etc/httpd/certs/newkey.pem
    SSLCertificateChainFile /etc/httpd/certs/newcert.pem

    <Directory />
    Require all granted
    </Directory>

    <Location /mcm>
    SetHandler mod_cluster-manager
Order Allow,Deny
    Allow from all
</Location>

    AllowDisplay On
    AllowCmd Off
    KeepAliveTimeout 180
    TimeOut 300


***SSLProxyEngine on
ProxyRequests Off
<Location /api>             
    ProxyPreserveHost On
    ProxyPass  https://server:8443
    ProxyPassReverse  https://server:8443
</location>***
<Location /status>
        SetHandler server-status
</Location>

The part between ******* does not work and other application make a not found. i don't know how to achieve it.. have the load balancer , and the virtualhost in front of node JS

Если я удалю эту часть, она будет работать для всех приложений в кластере wildfly.

Есть идеи ?


person cyril    schedule 05.11.2018    source источник
comment
Какая версия httpd? Конфигурация недействительна и не может работать так, как есть, в любой версии, поскольку она смешивает устаревшие версии 2.2. и 2.4. ограничения доступа Разрешить из или Требовать и т. д. Настройка довольно проста, и если вы ответите на нижеуказанные вопросы, я могу дать вам настройку mod_cluster/httpd: 1) Какую версию Wildfly вы используете? 2) Какую версию httpd вы используете? 3) Что вы ожидаете от настройки SSL и SSLProxy? Вы хотите завершить TLS на httpd и использовать HTTP или AJP для бэкэндов, или вы хотите, чтобы TLS полностью доходил до бэкэндов (Node и/или Wildfly)?   -  person Michal Karm Babacek    schedule 05.11.2018
comment
2.4, но работает как шарм, проблема в том, чтобы сделать новое перенаправление на узел JS с портом 8443   -  person cyril    schedule 05.11.2018
comment
Кластер модов работает очень хорошо, нет проблем с этой конфигурацией, мне не нужна конфигурация wilfly. Я хочу добавить перенаправление на server/api =› server:8443 работает только со статической подачей файла   -  person cyril    schedule 05.11.2018


Ответы (1)


просто добавьте / в конце URL

<VirtualHost ip:443>

ServerName server

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLEngine on
SSLCipherSuite ALL:!MD5:!EXPORT:!DES:!3DES:!DHE:!EDH:!RC4:!aNULL:!eNULL:!MEDIUM:!LOW
SSLCertificateFile /etc/httpd/certs/newcert.pem
SSLCertificateKeyFile /etc/httpd/certs/newkey.pem
SSLCertificateChainFile /etc/httpd/certs/newcert.pem

<Directory />
  Require all granted
</Directory>

<Location /mcm>
   SetHandler mod_cluster-manager
   Order Allow,Deny
   Allow from all

AllowDisplay On
AllowCmd Off
KeepAliveTimeout 180
TimeOut 300

 SSLProxyEngine on
 ProxyRequests Off
 <Location />             
   ProxyPreserveHost On
   ProxyPass  https://server:8443/
   ProxyPassReverse  https://server:8443/
 </location>
 <Location /status>
    SetHandler server-status
 </Location>

and in my case location must be / otherwise it does'nt work

person cyril    schedule 05.11.2018