【发布时间】:2022-03-06 01:58:32
【问题描述】:
我有一个开发人员环境,其中有一个 Nginx 开发服务器,一些请求被路由到我的本地计算机,一些请求被路由到 Internet 中的暂存环境。
我正在使用 vitejs.dev,除了 Vite 的热模块更换 (HMR) 的 Websocket 连接外,一切正常。
vite.config.ts
export default defineConfig({
server: {
host: true,
port: 3300,
hmr: {
path: '/__vite_hmr',
},
},
})
nginx 配置
location ~* /__vite_hmr {
proxy_pass "http://cr-frontend:3300";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
我可以成功地将其他请求代理到http://cr-frontend:3300,但不能成功代理 Vite 的 HMR。这是我得到的:
client.ts:28 WebSocket connection to 'wss://url.xyz:3300/__vite_hmr' failed:
有什么想法吗?
【问题讨论】: