Проект Angular 6 и сервер Wamp не могут получить доступ к проекту с другого компьютера в той же сети - PullRequest
0 голосов
/ 18 октября 2018

Я использую wampserver в качестве локального сервера для своего углового приложения.

Я создал приложение с помощью команды ng build --prod --aot.Затем я взял папку dist и поместил ее в виртуальный хост на wamp с именем angular.local, имеющий следующий скрипт в файле конфигурации httpd-vhosts.conf:

<VirtualHost *:80>
    ServerName angular
    DocumentRoot "c:/wamp64/www/angular"
    <Directory  "c:/wamp64/www/angular/">
        #Options +Indexes +Includes +FollowSymLinks +MultiViews
        #AllowOverride All
        #Require local
        Allow from 127.0.0.1
        Allow from 192.168.0.140
        Require all granted
    </Directory>
</VirtualHost>

Где 192.168.0.140 - сетевой IP-адресноутбука пользователя, с которого мы собираемся получить доступ к приложению.

На сервере system32 файл hosts я добавил следующую строку:

192.168.0.109 angular.local
::1 angular.local

Где 192.168.0.109IP-адрес сервера.

Когда пользователь пытается получить доступ к приложению по ссылке:

http://192.168.0.109/angular/

, мы можем увидеть название приложения в Google Chrome.заголовок вкладки, но с 3 ошибками на консоли:

enter image description here

Где не найдены среда выполнения, стили и основные файлы сценариев Java.

Я проверил их на угловой папке серверов, и они существуют.

Я сделал то же самое, что упоминалось в этой ссылке .

У меня есть .htaccess впапка проекта.

Я могу получить доступ к странице localhost, используя http://192.168.0.109/.

Я пытался использовать следующую ссылку, но она не работала:

http://angular.local/

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Используйте код ниже:

<VirtualHost *:80>

 ServerName servername.com
 DocumentRoot path/to/dist

 <Directory "path/to/dist">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
 #   Require local
 </Directory>

</VirtualHost>

У меня такое же угловое приложение, созданное с помощью ng build и добавленное в apache2 папку dist и выше, это мой vhosts.conf файл.Работает идеально для меня.

0 голосов
/ 18 октября 2018

Вы путаете APache с использованием синтаксиса APache 2.2 и синтаксиса Apache 2.4.Так что придерживайтесь синтаксиса Apache 2.4.

Также у вас должно быть ServerName ServerName angular.local

<VirtualHost *:80>
    ServerName angular.local
    DocumentRoot "c:/wamp64/www/angular"
    <Directory  "c:/wamp64/www/angular/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
        Require ip 192.168.0.140
    </Directory>
</VirtualHost>

И еще один VH для dev.local, поэтому предполагается, что он находится в папке с именем dev в www

<VirtualHost *:80>
    ServerName dev.local
    DocumentRoot "c:/wamp64/www/dev"
    <Directory  "c:/wamp64/www/dev/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
        Require ip 192.168.0.140
    </Directory>
</VirtualHost>

Если вы хотите разрешить с любого ip в локальной сети, тогда нам вместо того, что указано выше

Require ip 192.168.0

Вам также нужно будет добавить доменное имя в HOSTфайл на других компьютерах, как это, при условии, что WAMPServer работает на IP 192.168.0.10

192.168.0.10 angular.local
192.168.0.10 dev.local
...