二级域名+宝塔面板nginx+node后端无法访问后端静态资源解决问题
场景:
我需要一个二级域名专门写接口使用,其中就遇到了代理后的静态资源不能访问,所以就有了以下文章,仅供参考。
首先,要有个二级域名
首先,二级域名是什么,例如www.xxx.com是一级域名。可以理解 例如a.xxx.com就是二级域名
整个二级域名
我使用的是腾讯云的产品,阿里云也类似
有域名的下面有个解析
点击添加记录(自定义个前缀 我的是m和api,最后网站名为m.xxx.com 和 api.xxx.com)
这样我们就有了个二级域名了
宝塔面板添加二级域名网站
网站添加刚整好的二级域名,版本选择纯静态,因为我是用的node
修改nginx配置
然后打开软件商店,查看已安装(没有的自行搜索安装)蓝色的是我们启动node服务用的(我用的是mongodb数据库)
打开nginx的设置,看一下include的路径(我这里95行就是)
根据这个路径 打开左侧 文件 按钮,找到具体文件(根据刚才你添加网站的域名修改那个配置)例如:m.xxx.com.conf就是刚创建网站的配置文件
点击编辑
添加代码(代理服务器地址到这个二级域名)
location / {
proxy_pass http://127.0.0.1:3022;//我的服务器端口是3022,添加至此,其他默认,
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
注意!因为在node我们已经给某些文件设置静态资源访问了
👇图
所以我们要在修改一下nginx的配置
总结
这个二级域名专门写接口使用,不能让这个域名直接能访问它下面的静态资源,我们需要让node服务器访问,所以得注释掉原本他自带的配置。