Мой веб-интерфейс - это веб-приложение React, использующее в режиме разработки, в то время как мой бэкэнд - Ruby on Rails 5.2.1, работающий по умолчанию на сервере puma в режиме разработки на ubuntu / vagrant.
Проблема заключается в том, что xhr запрашивает иответы часто находятся в состоянии ожидания.Иногда для изменения статуса и фактической отправки на сервер требуется до 40 секунд (согласно журналу сервера разработки).В то время как на / с рабочего сервера Apache работает очень быстро.Все запросы / ответы выполняются менее чем за 1 секунду, даже если сервер находится в Интернете.
Я предполагаю, что это проблема веб-сервера разработки Vagrant или Rails, а не React, потому что с / на рабочий сервер работает просто отлично.Заметьте, что я пробовал и Puma, и Webrick, та же проблема.
Вот мой код аксиоса
import axios from 'axios';
export let baseURL;
// development vs production code
if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') {
baseURL = 'http://192.168.43.100:3000';
} else {
baseURL = 'http://api.example.com';
}
axios.defaults.baseURL = baseURL;
И мой Vagrantconfig
Vagrant.configure("2") do |config|
config.vm.box = "jadesystems/rails-5-2"
config.vm.network "public_network", ip: "192.168.43.100", bridge: "en0: Wi-Fi (AirPort)"
config.vm.synced_folder "../vagrant_data", "/home/vagrant/vagrant_data"
end