У меня есть загрузка Spring и приложение Angular в контейнере Tomcat, развернутое на сервере. Он отлично работает на localhost.
Теперь я пытаюсь сопоставить свой домен с приложением.
Когда я вызываю свой домен, вызовы API из Angular в Spring не выполняются.
Поскольку они находятся на одном сервере, я использую localhost для вызова API с angular на spring.
Что работает в моем браузере сервера, но не где-то еще, и мне ясно, почему он не работает.
Но я не совсем уверен, как это обойти.
Вот моя конфигурация 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
но все равно безуспешно.
Мы будем очень признательны за любые указатели на оба этих вопроса.
Я здесь для любой информации.
URL-адрес вашего Angular
приложение, используемое для вызова API, должно настраиваться или обнаруживаться автоматически. Итак, вы можете использовать:
<script>
тег).Использование IP-адреса сервера допустимо, но лучшим решением является использование доменного имени, которое указывает на этот адрес.
В вашей установке Tomcat, вероятно, есть ROOT
приложение, которое перенаправляет на приложение Tomcat Manager. Вы должны очистить его, если не используете (удалите все файлы, оставьте каталог).
,