2016-10-07 3 views
1

У меня есть приложение Java Spring, работающее на сервере Tomcat. Я использую сервер Apache для разгрузки SSL.Apache SSL Разгрузка/обратный прокси для веб-сайтов. (Spring App)

<VirtualHost *:8043> 
    ServerName myserver.com 
    SSLEngine on 
    SSLCertificateFile "pathtokeystore.crt" 
    SSLCertificateKeyFile "pathtoserver.key" 

    ProxyRequests On 
    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 
    ProxyPassMatch  ^/(MyApp/.*)$ http://App:8080/$1 
    ProxyPassReverse /MyApp http://App:8080/Home 
    //not including other stuff below 

Это работает, и я могу сделать запрос HTTPS на сервер Apache на порту 8043 и запрос направляется на сервер Tomcat в качестве запроса HTTP. Поправьте меня, если мое понимание ошибочно, но я верю, что это работает.

У моего приложения есть конечная точка Websocket. (Я использую Spring/Stomp/ActiveMQ). В настоящее время URL-адрес конечной точки: i.e: ws: // appname: 61614. Я могу подключиться непосредственно к конечной точке websocket, но это небезопасно, и я хотел бы изменить это на wss: // appname: 61614 и запросить запросы через сервер apache: wss: // myapp: 61614, который будет обрабатывать SSL и затем переместите их в ws: // app: 61614.

Можно ли достичь этого так же, как это можно сделать с помощью https и http? Так что я мог иметь что-то вроде этого:

//Loadmodule mod_proxy_wstunnel at the start of httpd conf file 

    <VirtualHost *:61615> 
     ServerName myserver.com 
     SSLEngine on 
     SSLCertificateFile "pathtokeystore.crt" 
     SSLCertificateKeyFile "pathtoserver.key" 

     ProxyPassMatch /ws://app:61614 
     ProxyPassReverse /ws://app:61614 

Я правильно думать все запросы WSS я сделать порт 61615 сервера апача будет перенаправлен на веб-службу: // Приложение: 61614 моего TOMCAT приложения? И это сработает? Может ли Apache обрабатывать прокси-серверы таким образом?

ответ

0

ProxyPassMatch требует регулярного выражения и некоторого вида лечения в цели. ProxyPassMatch/ws: // app: 61614 выглядит очень некорректно для меня. Также совпадают финальные слэши.

Try и дайте нам знать:

ProxyPass/ws://app:61614/ 
ProxyPassReverse/ws://app:61614/ 
Смежные вопросы