首页 > 解决方案 > 使用 mod_cluster willdfly 将 url apache 重写为 nodeJS 的问题

问题描述

我有用于 Wildfly 集群的带有 mod_cluster 的 apache

我在 443 上有一个虚拟主机

我在同一服务器 apache 上的 8443 上有一个 nodeJS

我想将 server/api 重定向到 server: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>

******* 之间的部分不起作用,其他应用程序找不到。我不知道如何实现它..有负载均衡器,以及节点JS前面的虚拟主机

如果我删除这部分,它适用于 wildfly 集群上的所有应用程序

任何想法 ?

标签: node.jsapachehttpd.confwildfly-9mod-cluster

解决方案


只需在网址末尾添加 /

<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>

在我的情况下,位置必须是/否则它不起作用


推荐阅读