apache2 proxypass для nodejs api - PullRequest
       10

apache2 proxypass для nodejs api

0 голосов
/ 18 ноября 2018

У меня есть этот apache с конфигурацией пропуска прокси:

 <IfModule mod_ssl.c>
 <VirtualHost *:443>
    ServerName domain.name.com
    DocumentRoot /var/www/html/

    alias / /var/www/html/wp/

    SSLEngine on
    SSLProxyEngine On
    LogLevel warn

    # DO NOT enable proxy with proxy request until server is secured
    ProxyRequests Off

    <Proxy *>
            Require all granted
    </Proxy>

    <Location "/app/">
            AddDefaultCharset utf-8
            ProxyPassReverse http://127.0.0.1:8888/
            SetEnv force-proxy-request-1.0 1
            SetEnv proxy-nokeepalive 1
    </Location>


    <Directory "/var/www/html">
            Options FollowSymLinks
            AllowOverride none
            Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLCertificateFile /path/fullchain.pem
    SSLCertificateKeyFile /path/privkey.pem
    Include /etc/cert/options-ssl-apache.conf
</VirtualHost>
</IfModule>

Мои wp-файлы в / var / www / html / wp правильно отображаются в htts: //domain.name.com

В моем proxypass есть узел express (backend) и angularjs (frontend). Узел экспресс содержит конечные точки, такие как

 ...
 router.post('/login', users.Token);
 router.post('/logout',users.logout);

 router.get('/provinces', aux.getProvinces);
 ...

после этого я использую:

 app.use("/api", api);

чтобы добавить api ко всем моим маршрутам в nodejs. Также должен сказать, на моем локальном компьютере, без Apache, Express API отлично работает .

На моей https://domain.name.com/app показана моя главная страница angualarjs но все маршруты для выражения API возвращают ошибку 403.

Либо, если я изменю это в nodejs api:

  app.use("/app", api);

Я получаю 503 Сервис недоступен

Если я изменю либо

   ...
   <Location "/">
        AddDefaultCharset utf-8
   ...

   <Location "/api">
        AddDefaultCharset utf-8
   ...

Я получаю 403 Forbiden Error

Я также попытался добавить ниже расположенное прокси в apache, например:

     <Location "/app/">
            AddDefaultCharset utf-8
            ProxyPassReverse http://127.0.0.1:8888/
            SetEnv force-proxy-request-1.0 1
            SetEnv proxy-nokeepalive 1
    </Location>
    alias /api/ /app/

Где мой фронт angularjs возвращает 403, а мой backend nodejs 404 не найден

Вопрос:

Что я делаю не так, когда обслуживаю бэкэнд моего nodejs api?

...