我解决这个问题的方法是在 nginx 的反向代理上做很多事情文件名.conf在你的域 conf 中的文件你需要设置类似的东西
location /admin {
include /etc/nginx/includes/proxy.conf;
proxy_pass https://your-service:8081;
}
location ^~ /@vite {
include /etc/nginx/includes/proxy.conf;
proxy_pass https://your-service:8081;
}
location /__vite_ping {
include /etc/nginx/includes/proxy.conf;
proxy_pass https://your-service:8081;
}
location /src {
include /etc/nginx/includes/proxy.conf;
proxy_pass https://your-service:8081;
}
location /node_modules {
include /etc/nginx/includes/proxy.conf;
proxy_pass https://your-service:8081;
}
代理配置文件文件这样看
xy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_request_buffering off;
proxy_http_version 1.1;
proxy_intercept_errors on;
在你的里面vite配置文件你必须做那样的事情
server: {
https: true,
host: "0.0.0.0",
port: 8081,
secure: false,
strictPort: true,
hmr: {
port: 8081,
host: "localhost",
},
},
重要的想法是要覆盖主机的 hrm 值,并且端口需要与您在 docker 上公开的端口相同
的服务价值docker-compose.yml
ports:
- '8081:8081'
在索引.html你必须更新脚本源路径
从< script type="module" src="/src/main.js" >
到< script type="module" src="https://localhost:8081/src/main.js" >