页面重新加载导致使用nginx auth#u basic+;找不到404;反应应用程序

页面重新加载导致使用nginx auth#u basic+;找不到404;反应应用程序,nginx,react-router,Nginx,React Router,因此,我尝试使用nginx basic auth模块通过以下方式保护一个暂存服务器: server { listen 443 ssl http2; server_name <something>; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; ssl_protocols TLSv1.2;

因此,我尝试使用nginx basic auth模块通过以下方式保护一个暂存服务器:

server {
    listen 443 ssl http2;
    server_name <something>;

    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    ssl_protocols TLSv1.2;
    ssl_certificate /etc/letsencrypt/live/<something>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<something>/privkey.pem;

    gzip_static   on;
    brotli_static on;

    location / {
        root   /usr/share/nginx/html;
        index  index.html;
        try_files $uri $uri/ index.html;
        auth_basic "Restricted Access";
        auth_basic_user_file /etc/passwords/htpasswd;
    }

    # only enable on non-production environments
    location /robots.txt {return 200 "User-agent: *\nDisallow: / \nNoindex: / \n";}
}
服务器{
监听443sslhttp2;
服务器名称;
包括/etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam/etc/letsencrypt/ssl-dhparams.pem;
ssl_协议TLSv1.2;
ssl_certificate/etc/letsencrypt/live//fullchain.pem;
ssl\u certificate\u key/etc/letsencrypt/live//privkey.pem;
gzip_静态开启;
brotli_静电开启;
地点/{
root/usr/share/nginx/html;
index.html;
尝试_文件$uri$uri/index.html;
授权基本“受限访问”;
验证基本用户文件/etc/passwords/htpasswd;
}
#仅在非生产环境中启用
location/robots.txt{return 200“用户代理:*\nDisallow:/\nNoindex:/\n”;}
}
由于应用程序的性质,这是一个单页应用程序,如果我重新加载页面(例如/仪表板),我会发现
404未找到

它只在
/
上工作,但对于单页应用程序,它应该是这样工作的。有任何线索欢迎


注:如果2020年到了,祝您新年快乐。

不确定这是否能解决您的具体问题,但是
try\u files
语句的最后一个术语应该有一个前导
/
。i、 e.
try_文件$uri$uri//index.html@RichardSmith嘿实际上这似乎解决了问题!