NGINX配置

由于最近遇到vue项目history打包,nginx部署后刷新404的问题,所以撸了一遍nginx的文档

下面是解决的方案

原因

由于history模式/xxx刷新后,nginx内找不到对应的路径,所以才报404错误

解决方案便是把这个路径重新定位到我们的index.html,然后交给路由去处理

代码实现

所有的/xxx定位到/的路由,然后try_files定位到@rewrites处理

location / {
   try_files $uri $uri/ @rewrites;
}

location @rewrites {
   rewrite ^(.+)$ /index.html last;
}
复制代码

以上

http转https

当nginx需要把外部的http请求全部转成https时,便需要以下配置

注:由于nginx里面没有 & |等逻辑符,所以需要以一个变量来处理

当发现协议头是http时,并且host不是localhost时(方便本地开发),即跳转https

   set $redirectFlag '0';
    # if shceme equals http
    if ($scheme = 'http') {
      set $redirectFlag '${redirectFlag}0';
    }
    # if host equals localhost then do not redirect
    if ($host = 'localhost') {
      set $redirectFlag '0';
    }
    # if redirect-flag equals double 0, then redirect to https
    if ($redirectFlag = '00') {
      return 301 https://$host$request_uri;
    }
复制代码

以上

转载于:https://juejin.im/post/5d0af211e51d4510624f97de

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值