У меня есть две виртуальные машины, на которых запущен экземпляр Scotchbox (Vagrant), и, по сути, есть приложение «frontend» (AngularJS) и «backend» (приложение Zend/PHP и т. д.)Запрос Curl из одного экземпляра виртуальной машины в другую VM (Vagrant) не работает
У меня есть настройка на двух отдельных экземплярах Vagrant и выполняется с IP-адресов ниже (добавлено в мой файл Windows-хостов), поэтому я могу получить к ним доступ через доменное имя чем просто IP-адрес)
192.168.33.10 myappfront.local
192.168.33.11 myappback.local
в моем внешнем интерфейсе приложения я запускаю следующий PHP код с CURL в основном проверить маркер, когда журнал пользователя s в
$ch = curl_init();
$parameters = $apiUrl . '/user/login/verify-new-ui?id='.$_REQUEST['id'].'&token='.$_REQUEST['token'].'&appid=3';
curl_setopt($ch, CURLOPT_URL, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$data = json_decode(curl_exec($ch)); // always NULL??
curl_close($ch);
параметров переменных $ будут содержать URL, похожий на этот ... https://myappback.local/user/login/verify-new-ui?id=1000001445&token=1shg7x1y7u53c1cppg36&appid=3
Когда я пытаюсь var_dump из переменных $ данных он всегда NULL. - Я знаю, что функция работает (он работает на нашем сайте в прямом эфире), поэтому мне кажется, что это что-то связанное с Бродягой?
Это что-то брандмауэр, связанный с бродячим экземпляром? Может ли кто-нибудь предложить лучший способ понять это?
Мой vagrantfile выглядит следующим образом:
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
config.vm.box_download_insecure = false
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
config.vm.provision :shell, :path => "bootstrap.sh"
end
// другой бэкенд бродяга коробка
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.11"
config.vm.hostname = "scotchbox"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
конец
Не могли бы вы показать шоу, что хранится в переменной $ apiUrl? И где вы это добавили: 192.168.33.10 myappfront.local 192.168.33.11 myappback.local Я имею в виду локальную или бродячую машину? – Evgeniy
Должен ли мне редактировать файл hosts в двух экземплярах бродяг? – Zabs
Конечно, если вы добавите эти записи только на localhost - просто вы можете протестировать любой запрос, использовать браузер. Если вам нужно сделать запрос от одной виртуальной машины к другой, вы должны добавить такую же конфигурацию в VM, которые делают запрос. – Evgeniy