背景
本人在部署vue项目(与Java前后端分离项目)的时候,一般打包结束后,会生成到dist文件夹下,然后在配置了域名解析后,会使用nginx直接指向目录,最后使用域名就可以直接访问,如admin.example.com
。但这样做有一定的风险,一般会将后台登录地址给隐藏掉。可以在上述域名后添加一个二级目录进行登录。
修改路由配置
const ROUTE_BASE_URL = process.env.NODE_ENV === 'production'?'/RYmlOkmZ':'/'
export default new Router({
base: ROUTE_BASE_URL, # 这里的ROUTE_BASE_URL 是定义过的
mode: 'history',
scrollBehavior: () => ({ y: 0 }),
routes: constantRouterMap
})
修改打包配置
const ROUTE_BASE_URL = process.env.NODE_ENV === 'production'?'/RYmlOkmZ':'/'
module.exports = {
publicPath: ROUTE_BASE_URL,//注意修改这个路径,和上边对应上
outputDir: 'RYmlOkmZ', // 这个是打包后的文件输出目录
}
修改nginx配置
listen 80;
server_name admin.xcoolu.com;
index index.html;
root /www/wwwroot/; #注意这里不要写文件路径
如果页面刷新出现404的话,添加如下配置
# 避免访问出现 404 错误
location / {
try_files $uri $uri/ @router;
index index.html;
}
location @router {
rewrite ^.*$ /index.html last;
}
最后,使用 admin.example.com/RYmlOkmZ
进行访问
评论区