Доступ к веб-сайту локального доменного имени в качестве сервера API в WAMP

#wamp #virtualhost #hosts

#wamp #virtualhost #hosts

Вопрос:

У меня есть два локальных домена, которые работают нормально, однако другой домен является сервером API, который использует API другого домена. Проблема в том, что он не может получить доступ к другому домену и возвращает сетевую ошибку, что-то вроде

  option 1

 let apiserver = 'http://localserverA.local'
 axios.get(`${apiserver}/apicall`).....
 catch( ---> return network error
  

Но это работает

  option 2

 let apiserver = 'http://127.0.0.1:8000'
 axios.get(`${apiserver}/apicall`).....
 returns 200 ok
  

Проблема с вариантом 2 заключается в запуске встроенного php на сервере, что не очень хорошая идея, потому что для некоторых настроек в базах данных требуется локальный хост домена для доступа к его данным.

 <VirtualHost *:80>
    ServerName localserverA.local
    ServerAlias localserverA.local
    DocumentRoot C:/projects/r/projects/A/web
    <Directory "C:/projects/r/projects/A/web">
        AllowOverride All
        Require all granted
        Allow from All
        Allow from 127.0.0.1
        Allow from ::1

        #FallbackResource /app.php
    </Directory>
</VirtualHost>
  

Я даже могу пропинговать свое доменное имя, оно хорошо работает в браузере, но при вызове конечной точки через javascript возникла сетевая ошибка. Хорошо работает в рабочей среде
Есть идеи?

Ответ №1:

Это может помочь вам:

Перейдите в каталог (откуда загружается ваша целевая страница, если у вас есть проект laravel, вам нужно перейти в общедоступный каталог) к вашему проекту в command promt и fire command.

 php -S <ip addresss>: <any port no>
  

вот так

 php -S 192.168.1.62:4200
  

Теперь вы можете получить доступ к этому проекту с помощью 192.168.1.62:4200

Комментарии:

1. Да, это действительно работает, но, как я уже сказал, на сайте есть требования, согласно которым только доменным именам разрешен доступ к данным в базах данных

2. что вам нужно настроить конфигурации вашего сервера.

Ответ №2:

Вам нужно изменить свой %SystemRoot%system32driversetchosts файл. Добавьте следующую строку:

 127.0.0.1 localserverA.local
  

Комментарии:

1. на самом деле все работает нормально, мне нужно вызвать некоторые маршруты, например / apicall изнутри из другого локального домена с тем же сервером wamp, например, let = localserverA.local/ apicall в качестве URL для вызова ajax, но это возвращает сетевую ошибку