Что происходит, когда Вы получаете доступ IP-адресом?
Можно попытаться использовать эквивалент localhost при помощи:
http://127.0.0.1/MyAppRia
Если это работает затем, Вы могли бы поставить имя машины в свой localhosts файл.
В Windows, который обычно является чем-то как
\Windows\system32\drivers\etc\hosts
Похоже, это может быть просто автоматическое сканирование, так что за этим стоит многое. Поэтому я собираюсь сосредоточиться на вашем первом вопросе:
Как хакеру удалось отправить GET-запрос на мой сервер, такой как что " http://www.google.com " отображается в журнале, пока мой сервер просто API, который работает с относительными URL-адресами, такими как "/api/login".
Веб-серверы связываются с вещами, и они делают это на разных уровнях сети. Как правило, они могут связываться со следующим:
*: 80
или : 80
, что означает любой IP. 1.2.3.4:80
будет означать только IP 1.2.3.4
Следовательно, если вы не привязываетесь к определенному имени хоста, кто-нибудь может отправить вам запрос, установите для заголовка HTTP-хоста все, что они хотят, и ваш веб-сервер примет это. Например:
[kbrandt@grove: ~] ping google.com | head -n1
PING google.com (173.194.37.103): 56 data bytes
[kbrandt@grove: ~] curl -H 'Host: foo.com' 173.194.37.103
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>