我在nginx反向代理后面有一个nuxt.js应用程序。nginx conf文件如下:
server {
listen 80;
# Match *.lvh.me
server_name ~^(?<user>.+).lvh.me$;
location / {
proxy_pass http://localhost:8080/sites/$user$uri$is_args$args;
}
location ~* .(?:js|css|jpg|jpeg|gif|png|ico|cur|svg)$ {
proxy_pass http://localhost:8080;
}
}
正如你所看到的,我正在将我所有的网站子域映射到我网站上的特定路径,它运行得很好。我还映射了所有要从根加载的资产(因为否则会抛出404错误(。
我面临的唯一问题是,每当我访问子域e.g subdomain.lvh.me
时,它都会加载两个页面,一个是子域根的原始页面(这是预期的(,另一个是主域根i.e. lvh.me
的页面(这不是预期的(。
你能检查一下我的conf文件,看看我在这里是否做错了什么吗?
所以我遇到了这个问题,我所做的解决方法是不依赖Nginx的root
或proxy_pass
。相反,我使用了一个带有别名和try_files
的位置块,如下所示:
location ^~ / {
alias /path/to/dist;
try_files $uri $uri/ /index.html = 404;
}