Nginx и Tomcat For Spring и Angular приложение - PullRequest
0 голосов
/ 14 марта 2020

У меня установлена ​​загрузка Spring и Angular приложение в Tomcat Container на сервере. На localhost он работает совершенно нормально.

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

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

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

вот моя 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 configuration :

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

Мои вопросы:

Должен ли я использовать IP-адрес сервера при вызове API от Angular до весны? это будет работать?

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

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

Благодарность

Ответы [ 2 ]

1 голос
/ 14 марта 2020

Да, вам нужно будет использовать IP-адрес сервера при вызове API. Причина в том, что когда клиент запрашивает ваш Angular веб-сайт, код отображается на его веб-сайте. Теперь, когда веб-сайт angular инициирует вызов API, он пытается нажать ip localhost, что означает локальный по отношению к клиентскому браузеру, а это не так, как вы имели в виду локальный по отношению к веб-сайту Angular.

Что касается вашего второго вопроса, вы хотите перейти на свой домен и хотите, чтобы ваш сайт загружался по пути root, верно?

0 голосов
/ 14 марта 2020

Если вы хотите перенаправить на / web-отображение, когда пользователь нажимает «mydomain.com», вы можете добавить конфигурацию, подобную следующей, к вашему nginx:

server {
    listen 8080;

    location / {
        proxy_pass mydomain.com/web;
    } 
}

Это будет прослушивать порт 8080 и направляя / добавляя все запросы к /web

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...