あらすじ
手持ちのMacでDocker-composeでフロント、バックエンド、それぞれ別のdocker-compose.ymlでサーバを動かしています。
フロントはNuxt、バックエンドはPHPにしています。
Nuxtからはproxyでバックエンドにアクセスします。
以前はtargetのところにホストマシンのIPアドレスを指定してバックエンドにアクセスしていました。(バックエンドのポートは80)
以下のようにしていました。
proxy: {
'/api': {
target: 'http://192.168.1.10',
pathRewrite: {
'^/': '/',
},
},
},
それがルーターを変えると500エラーが発生するようになったのです。
調べた中でホストのところをdockerのコンテナ名にするというものを見つけましたが、504エラーが発生して解決しませんでした。
504エラーの時は以下のようなエラーが発生していました。
[HPM] Error occurred while trying to proxy request 〜
解決方法
以下のサイトの方法を試したところ解決しました。
具体的には以下のようなコードになりました。
proxy: {
'/api': {
target: 'http://host.docker.internal',
pathRewrite: {
'^/': '/',
},
},
},
ルータの影響は不明のままですが、そもそもdockerコンテナ同士のアクセスでIPを使っていたことが間違っていたのかもしれません。
コメント