Приложение React с серверной частью Rocket, предоставляющее экономию при использовании прокси

#reactjs #rust-rocket

#reactjs #rust-rocket

Вопрос:

Я пытаюсь создать веб-приложение, используя rocket для серверной части и react для интерфейса. Однако, когда я пытаюсь создать прокси, я продолжаю получать rayk@pop-os:~/repos/homrs/frontend$ curl http://localhost:3000/api Proxy error: Could not proxy request /api from localhost:3000 to http://localhost:8000 (ECONNREFUSED).

То, что я в настоящее время пробовал, это добавление "proxy": "http://localhost:8000" в мой package.json в приложении, и я всегда пытался настроить прокси вручную, как предложено здесь https://create-react-app.dev/docs/proxying-api-requests-in-development/#configuring-the-proxy-manually .

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

 #![feature(proc_macro_hygiene, decl_macro)]

#[macro_use] extern crate rocket;

#[get("/")]
fn index() -> amp;'static str {
    "Hello, world!"
}

fn main() {
    rocket::ignite().mount("/api", routes![index]).launch();
}
  

Вот setupProxy.js я пытался использовать

 const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
    app.use(
        '/api',
        createProxyMiddleware({
            target: 'http://localhost:8000',
            changeOrigin: true,
        })
    );
};
  

Я также пытался использовать http://localhost:8000 и http://localhost:8000/ . Я также пытался изменить порт rocket с 8000 на 3001, и это также не сработало.

Редактировать: Вот ссылка на репозиторий github: https://github.com/GimpFlamingo/homrs

Ответ №1:

Люди здесь:https://github.com/plouc/mozaik/issues/118 у нас возникла аналогичная проблема.

Я смог воспроизвести вашу проблему и обнаружил добавление address = "127.0.0.1" в Rocket.toml, а затем устанавливающее «proxy» на «http://127.0.0.1:8080 «исправил это для меня!