Nginx und Tomcat Для приложений Spring и Angular

У меня есть приложение Spring boot и Angular в контейнере Tomcat, развернутое на сервере. Он отлично работает на localhost.

Теперь я пытаюсь сопоставить свой домен с приложением.

когда я вызываю свой домен, вызовы api из Angular в Spring не выполняются. Поскольку они находятся на одном сервере, я использую localhost для вызова API от angular до spring. который работает в моем браузере сервера, но не где-то еще, и мне ясно, почему он не работает.

но я не совсем уверен, как это обойти.

API call вот моя конфигурация nginx

   server {
        listen       80;
        server_name localhost mydomain mydomain;


        #access_log  logs/host.access.log  main;

        location {
            root   html;
         proxy_pass      http://mydomain:8080;
            index  index.html index.htm;
        }       
    }

Tomcat:

 <Host name="mydomain"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Alias>mydomain</Alias>
        <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />   
</Host>

Мои вопросы:

  • Следует ли использовать IP-адрес сервера при вызове API с Angular на Spring? это сработает?

    • Второй вопрос: когда я вызываю свой домен, он перенаправляет на страницу менеджера tomcat. Я хочу, чтобы он перешел на localhost: 8080 / myApp.

Я попробовал proxy_pass как http: // mydomain: 8080 / myapp & http: // localhost: 8080 / myapp но все равно безуспешно.

Мы будем очень признательны за любые указатели по обоим этим вопросам.Для получения любой информации я доступен здесь.

Спасибо

0
задан 14 March 2020 в 13:10
1 ответ

URL-адрес, который ваше приложение Angular использует для вызова API, должен настраиваться или определяться автоматически. Таким образом, вы можете использовать:

  1. глобальный объект JavaScript location или
  2. аналогичный объект на стороне сервера, например HttpServletRequest # getRequestURL () , который вам придется отправить в приложение Angular (например, в теге

    Теги

    Похожие вопросы