我有一个使用浏览器历史记录的React单页应用程序,基本名称是“邀请”,这是我当前使用本地html文件的nginx配置:
server{
listen 9999;
server_name 0.0.0.0;
access_log /var/log/nginx/activity_access.log;
error_log /var/log/nginx/activity_error.log;
location /invite {
root html;
index index.html;
try_files $uri /invite/index.html;
}
}
上面的配置效果很好。
但是我想将本地html文件设置为cdn上的html文件。我该怎么办?这是我的伪代码:
server{
listen 9999;
server_name 0.0.0.0;
access_log /var/log/nginx/activity_access.log;
error_log /var/log/nginx/activity_error.log;
location /invite {
root html;
index index.html;
try_files $uri https://mycdn.com/invite/index.html;
}
}
谢谢!
答案 0 :(得分:1)
try_files
语句中的最后一个参数只能为内部重定向指定URI。请改用命名位置。
例如:
location /invite {
...
try_files $uri @redirect;
}
location @redirect {
return 301 https://mycdn.com/invite/index.html;
}
有关详细信息,请参见this document。
要使用反向代理而不是重定向,请使用:
location @redirect {
rewrite ^ /invite/index.html break;
proxy_pass https://mycdn.com;
}