【GCP】Cloud Run 前端 Service 請求後端Service 的 API,出現405 Method Not Allowed
問題原因
今天使用axios.post()
方法打/memberLogin
API到後端 Spring Boot,
結果回傳 405 Method Not Allowed,
前端跟後端都使用 Post Method,
因此先排除 http method 的問題,
參考文章後,覺得可能是 header 的 content-type 要是 application/json 才會正確。
看到類似文章提到以下可能的情況
解決方法
最後發現是 vite proxy 設定的問題,
在 local 端可以反向代理,並打出 API,
但在雲端 Cloud Run 就會失敗,
所以改成直接打網址
proxy: {
// 將所有以 /api 開頭的請求轉發到後端服務器
'/api': {
// before
// target: 'http://localhost:8080',
// after
target: 'https://spring-boot-deployment-1-xpf6zdjama-de.a.run.app',
changeOrigin: true,
secure: true,
// rewrite: (path) => path.replace(/^\/api/, ''),
},
},