Вызовы API работают только с IP-адресом, а не с моим доменом (Node.js Express, Godaddy, Google Compute Engine) - PullRequest
0 голосов
/ 23 июня 2018

У меня есть сервер узлов, работающий на облачном движке Google. Я использую Ubuntu в качестве моей ОС на Compute Engine.

я добавил правила брандмауэра как 0.0.0.0/0 tcp: 4000 мой внешний ip 35.196.xxx.xxx. и мой сервер узлов работает на порте 4000, поэтому я сопоставил 35.196.xxx.xxx:4000 с моим доменом godaddy

я написал несколько API на моем сервере и могу получить доступ к этому API (POST), используя post man с моим Внешний IP

Я могу получить мой сайт с моим доменом . но я не могу получить доступ к моему API, используя мой домен .

т.е.,

http://35.196.xxx.xxx:4000/lyriclines/get-songs-by-person что нормально

http://mydomain. ком / лирика / получить песни за человека что не в порядке

Я получаю эту ошибку при использовании домена,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>mydomain.com </title>
        <META name="description" content="None">
        <META name="keywords" content="None">

    </head>
    <frameset rows="100%,*" border="0">
        <frame src="http://35.196.xxx.xxx:4000/lyriclines/get-songs-by-person" frameborder="0" />
        <frame frameborder="0" noresize />
    </frameset>
    <!-- pageok -->
    <!-- 08 -->
    <!-- -->

</html>

1 Ответ

0 голосов
/ 24 июня 2018

Оставьте правило брандмауэра порта 80 открытым для 0.0.0.0 и удалите его для 4000. Затем настройте прокси-сервер nginx, который прослушивает 80, для маршрутизации веб-запросов на порт веб-сервера и запросов API на ваш порт API. Используйте этот ответ как ссылку.

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