通过nginx配置Vue nginx报403问题的解决方法

  今天在服务器上通过子目录部署vue build后的文件时,遇到了部署后访问该路径报403 Forbidden的问题。具体情况如下:

  nginx的版本为1.17.3

  此时nginx.conf的配置情况

server {
                listen  5000;
                server_name     localhost;
                location /manager {
                        alias   /home/xxxx/Project/vue/dist;
                        index   index.html;
                        try_files   $uri $uri/ /index.html;
                }
        }

  最终找到问题是由于try_files 中包含有$uri/的文件夹,此时如果去掉$uri/,nginx便会正常运行,但是这时候因为alias配置的为一个文件夹,而try_files又不包括文件夹,所以nginx会无法正确匹配到index.html。

  所以只是去掉$uri/并不是最好的解决办法。之所以去掉$uri/便可以正常运行的原因是因为nginx会自动为文件夹下的文件创建索引,但是nginx创建索引的配置默认是关闭的,所以nginx自己会把自己给禁止掉,最终导致403错误的发生。因此我只需要在配置中 打开创建索引就可以了。最终配置如下:

server {
                listen  5000;
                server_name     localhost;
                location /manager {
                        autoindex on;
                        alias   /home/xxxx/Project/vue/dist;
                        index   index.html;
                        try_files   $uri $uri/ /index.html;
                }
        }

  success!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值