当我连接到网络服务器时,页面会加载但仍为空白。 在开发人员模式下,控制台没有显示任何错误,并且所有请求都返回正常响应。 nginx/error.log 和 access.log 中都没有任何问题。 我的前端是用vite构建的 这是我的 nginxconf 文件:
server {
listen 80;
listen 443 ssl;
server_name servername.com;
ssl_certificate /etc/ssl/certificate.crt;
ssl_certificate_key /etc/ssl/private.key;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_pass http://0.0.0.0:5173;
proxy_max_temp_file_size 0;
}
}
该应用程序在我的本地计算机上运行得很好,所以我猜问题一定来自 nginx。 我尝试重新启动多次,但页面仍然空白。
首先,我建议您隔离端口 80,以便将请求重定向到 https 块:
server {
listen 80;
server_name servername.com;
return 301 https://servername.com$request_uri;
}
然后,在 https 块中,您需要定义
root
指令,以说明 Web 文件夹的位置。您还必须在 proxy_pass
指令中精确显示服务器的真实 IP。
server {
listen 443 ssl;
server_name servername.com;
ssl_certificate /etc/ssl/certificate.crt;
ssl_certificate_key /etc/ssl/private.key;
root /path/to/web/folder; # can be in the location block.
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_pass http://real.ip.to.server:5173;
proxy_max_temp_file_size 0; # you can also try to disable this line
}
}