我已经使用嵌入式NGINX(使用Kubernetes / helm图表)将React应用部署到http://localhost:30111/。这个单页面的应用程序需要一些NGINX重写规则来深度链接静态源。 NGINX有以下规则:
server {
server_name _;
gzip on;
gzip_static on;
location / {
try_files $uri /index.html;
}
}
一切正常,应用程序正在按预期方式在http://localhost:30111/上进行侦听。
我需要做什么:我需要为此应用使用新的上下文路径,例如http://localhost:30111/myapp,而不是根上下文路径http://localhost:30111/。
我应该如何在NGINX中编写proxy_pass / rewrite规则以在新的上下文路径上工作?
答案 0 :(得分:0)
即使迟了,我也会提供我的答案,以后可能会对某人有所帮助。
build / myapp / ...所有静态文件都将放在此处。
“主页”:“ / myapp”-这将有助于将process.env.PUBLIC_URL设置为/ myapp
<BrowserRouter basename={process.env.PUBLIC_URL}>
<Suspense fallback={<Loader />}>
// ... app routes...
</Suspense>
</BrowserRouter>
location / {
return 301 /myapp;
}
location ~ ^/myapp {
try_files $uri /myapp/index.html;