質問: createProxyMiddleware('/api', { target: 'http://www.example.org' }); // \____/ \_____________________________/ // | | // context options ``` ただ、この手法だと、用いるcontextに対し設定を書かなければなりません。 contextが複数のサーバでかぶっている(api1/usersとapi2/usersを利用したい)場合、rewite用いたコーディングが必要になります。 実現したいことに対し、非常に面倒です。 ### 質問 前提とした構成が正しくないのでしょうか。(特にapiサーバを外に出したくないあたり?) リクエストをブラウザからではなく、feコンテナから送る方法があるのでしょうか。 または、解決できるその他の方法があるのでしょうか。 よろしくお願いいたします。
回答: `src/setupProxy.js` に以下のように書いて、`axios.get('/api1/users')` や `axios.get('/api2/users')` でアクセスすれば良いのでは。 ``` const proxy = require('http-proxy-middleware'); module.exports = app => { app.use( '/api1', proxy({ target: 'http://api1', changeOrigin: true, pathRewrite: { '^/api1': '' } }) ); app.use( '/api2', proxy({ target: 'http://api2', changeOrigin: true, pathRewrite: { '^/api2': '' } }) ); }; ``` 参考: Dealing with CORS in Create React App