当前位置: 首页 > news >正文

宝塔部署的前后端项目从IP访问改成自定义域名访问

首先去给域名添加解析

因为我们是部署在服务器上,以IP的形式去访问的,所以

  • 添加的类型是A

  • 主机记录就是你想要访问的二级域名的头部

比如你买了bbb.com,这个是主域名(也叫一级域名),然后你想要以aaa.bbb.com的形式去访问你的项目,那么你的主机记录就是aaa。如果想要直接以bbb.com去访问,主机记录填*@*即可,详细解释如下

  • 记录值就是你的服务器的公网IP地址

oss配置

腾讯云的CORS记得把自己的域名添加上去http://你的域名,这里http即可

添加域名

宝塔面板,前端中

  • 这里添加域名即可,然后配置文件略微改一下,http不改成https是因为后端就是http服务,

location /的需要放在下面

然后配置SSL

  1. 点击 Let’s Encrypt 去申请免费90天的证书,然后下载

  1. 之后来到当前证书,填写下载的压缩包里key文件和pem文件里的内容,点击保存

  • 后续想要安全可以打开强制HTTPS

  1. 验证

首先,如上图,首先认证域名得是我们填的,如果是guoziyang.com,那么你的SSL证书必须得是泛证书,关于申请方法可参考leikoo大佬的:

https://www.codefather.cn/post/1831983737277050881#heading-1

然后看剩余日期是否出现,说明SSL部署成功且生效了

前端更改

生产环境那里需要改成自己的域名,然后由于前面开了强制HTTPS,所以这里也要改成https

同样的ws这里也需要改成域名,不需要加端口号

之后正常打包

npm run pure-build

之后把dist目录里的都上传到宝塔面板,把原来的文件覆盖掉

优化

  • 当然这里可以改成根据环境变量来访问不同的接口

新建一个.env文件。然后填写

VITE_WS_BASE_URL=ws://localhost:8123 VITE_API_BASE_URL=http://localhost:8123

然后新建一个测试的,一个生产的,比如.env.dev.env.prod,当然我们项目都上线了,暂且不像企业那样区分测试环境和生产环境。

我以.env.prod为例

VITE_WS_BASE_URL=ws://你的真实域名 VITE_API_BASE_URL=https://你的真实域名

VITE_API_BASE_URL是 https 是因为我强制打开了 https

然后代码里改成通过根据不同环境变量去读取

constAPI_BASE_URL=import.meta.env.VITE_API_BASE_URL// 创建 Axios 实例constmyAxios=axios.create({baseURL:API_BASE_URL,timeout:60000,withCredentials:true,// 是否携带凭证})

这里提一点,可能有人说咋不是process.env.xxx,因为我是 Vite 项目所以是import.meta.xxx,对于vue-cli创建的项目是process.env.xxx。更简单一点,你看下你项目里是vue.config.js还是vite.config.js,vue.config.js就是process.env.xxxvite.config.js就是import.meta.xxx

之后记得把.env.prod加入到.gitignore中,别提交到仓库上

然后到package.json改下打包命令

就改下之前鱼皮写的pure-build的后面添加--mode prod,意思就是打包的时候加载生产环境,即.env.prod

**注意哦,**如果你是.env.producement,那么这里就是--mode producement,打包和文件名得对上,不然找不到

之后我们到控制台输入npm run pure-build来打生产包即可,如果你想要测试下,或者像企业那样打测试环境的包,那我门再添加一条

"pure-build:dev":"vite build --mode dev",

之后我们在控制台输入pure-build:dev就意味着打的是测试环境的包了

估计有人有个疑问了,那本地呢?本地打啥包哦,我们日常开发前后端联调就是本地,没必要,真想要本地打包那就本地添加.env.local,同理package.json添加上"pure-build:local":"vite build --mode local"这个打包命令就可以用了。但是企业不一样,企业你拉项目可能会看到.env.env.local、.env.dev.env.prod,甚至还有个uat环境的.env.uat,uat环境一般是指客户公司真正使用的线上环境,甲方公司由于有定制的需求,跟我们做的产品有些方向略不一样所以就有了这个区分,这时候正式环境就是指公司内部研发产品运行的环境

后端注意

后端并没有需要改的地方,只是要注意下数据库以及分库分表的位置,localhost是否改成了服务器的ip地址

宝塔面板的配置按照之前的即可

可以再浏览器输入https://你的域名/api/doc.html,访问成功说明没问题

最后就可以通过你的域名去访问前端了,当你去查看浏览器的时候,完整地址也是https

然后点击那个,会显示连接安全,毕竟配置了SSL证书

如果你的前端是部署在vercel上,然后添加了自定义域名(哪怕备案了),虽然能正常访问,但还是显示不安全。— 2026年6月更新:vercel现在域名会自动帮你配置SSL了,无需手动配置了

http://www.gsyq.cn/news/1635991.html

相关文章:

  • Fast-GitHub终极指南:如何让GitHub下载速度提升10倍的免费解决方案
  • STM32F439ZG与171010550的DC-DC降压电源设计实战
  • 终极指南:如何用SuperSQL让AI帮你写SQL,5分钟完成数据库查询革命
  • E-Hentai批量下载解决方案:基于浏览器脚本的高效图片归档创新方法
  • 解锁PS3手柄在Windows上的完全潜力:DsHidMini深度体验指南
  • 逆向工程实战:58同城App密码加密算法解析与Python复现
  • 如何免费获取国家中小学智慧教育平台电子课本PDF:智能解析下载方案
  • E-Hentai漫画批量下载:三分钟搞定完整图库归档的终极方案
  • yolov26改进 | 主干/Backbone篇 | 轻量级移动端网络ShuffleNetV2(附代码+修改教程)
  • 企业微信数据合规管理:WechatBakTool技术架构与商业价值分析
  • 免费终极图表编辑器:Mermaid Live Editor零代码可视化创作指南
  • 如何在浏览器中实现图像隐写?StegOnline:零基础掌握LSB数据隐藏的终极指南
  • 系统架构图绘制——让架构“可视化“
  • 2026,手机自制电子证件照全指南:详细步骤与无水印工具实操教学
  • 个人技术开发者如何为宠物门店做小程序?解决预约、卖货难题
  • 2026最新8款学生免费编程工具平替权威实测合集
  • 2026:智能短视频总结工具选哪个,免费版够用的只留这一个
  • openEuler-pkginfo配置详解:如何定制化你的Gitee操作环境
  • 裂痕深处:弦理论的未竟困局与NKS计算范式的统一之问
  • 【强烈推荐收藏】2026网络安全:国家战略支柱与最确定职业红利
  • 从单体架构到 LTAP:数据库存储革新,实现无限存储与实时数据分析
  • 三步极速上手:E-Hentai漫画批量下载高效解决方案
  • 嵌入式应用开发笔记之web端设备控制台
  • RAG沉寂了吗?一场被误读的退场与一场正在发生的进化
  • 每天10分钟学会OceanBase系列(Day 9):SQL性能诊断,看懂执行计划不再难
  • 汽车功能安全的“独立性“要求:为什么两个系统“都好“不等于“一起好“
  • 机器学习系列:高斯混合模型(1)
  • 怎么自动下载多个文件?
  • AI模型中规划与执行分离:开启智能应用新范式
  • 爱丽丝的发丝──《爱丽丝惊魂记:疯狂再临》制作点滴