热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于对整站进行二级域名的改造

缘由在此之前,博客的访问地址为https:www.codelabo.cnblog(当然现在页可以访问,因为做了重定向),改造成了目前的https:blog.codelabo.cn,

缘由

在此之前,博客的访问地址为 https://www.codelabo.cn/blog(当然现在页可以访问,因为做了重定向),改造成了目前的 https://blog.codelabo.cn,直观的区别就是使用了二级域名。

为什么需要这样呢?

起初,是打算直接用 https://www.codelabo.cn作为博客的访问地址的,后来想到把自己的其他项目也放到改域名下,所以决定改造成 主域名作为一个入口,分别进入到不同的项目,比如 https://www.codelabo.cn/blog、https://www.codelabo.cn/web、https://www.codelabo.cn/demo…类似这样的分支。

这部分完全可以在koa2里面完成,我用到了koa-mount,这个库可以用来实现将路径指向不同的服务。

app.use(mount('/blog', blog));
app.use(mount('/demo', demo));
app.use(mount('/portal', portal));
app.use(mount('/web', web));

然后就达到了我的目的,不同的地址指向不同的项目。

就这样持续了一个多月。

后来发现一个问题,由于只是相对路径不一样,域名完全一致,所以这些项目的storage是完全共享的,比如我在blog页面登录了,把一些登录信息存到了localstorage,然后demo里面也有登录,如果字段和blog一致,就会造成数据被覆盖的问题。

这应该算是自己规划的不足吧,在浏览器看来https://www.codelabo.cn/bloghttps://www.codelabo.cn/demo完全是同一个网址,只是进到了不同的子页面,所以数据是完全共享的。

那么如何解决呢?

思考

其实各大网站都有这样的现象,因为业务繁多,主域名都只要一个,比如百度就一个https://www.baidu.com,其他业务怎么描述的呢?

用到了二级域名,甚至是三级域名!

比如

  • 百度知道https://zhidao.baidu.com
  • 百度地图 : http://map.baidu.com

还有很多都是这种表述方式

这也是二级域名最正确的使用方式

解决

那么我现在页决定使用二级域名。

二级域名的申请是免费的,我是在腾讯云购买的域名,可以在我的域名中进行申请

《关于对整站进行二级域名的改造》

点击分配子域名至项目,然后又一个弹出框,填入你需要的二级域名名称,然后确定

《关于对整站进行二级域名的改造》

成功后进入协作子域名,就可以看到刚才申请的域名了

《关于对整站进行二级域名的改造》

当然现在还是不能使用的,需要先进行解析,进去添加解析,这里需要添加你的公网ip

《关于对整站进行二级域名的改造》

然后看到解析正常,等几分钟就可以使用这个二级域名了

《关于对整站进行二级域名的改造》

部署

以上完成了二级域名的申请和解析,那么如何把项目和这个域名来关联起来呢。

我这里用到了nginx,后面会分享一下nginx的使用

你可以把二级域名当成一个全新的域名一样,直接进行分配就行,比如

nginx.conf文件中添加如下配置

server {
listen 443;#https默认端口
server_name demo.codelabo.cn;#域名
ssl on;
ssl_certificate ../ssl/1_demo.codelabo.cn_bundle.crt;#htpps证书
ssl_certificate_key ../ssl/2_demo.codelabo.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/src/web-app/www/demo;
index index.html index.htm;
expires 1d;
}
}

这里用的是https,所以默认端口是443,如果是http,默认端口就是80,默认端口在浏览器可以省略不写

然后重启nginx,使配置生效

nginx -s reload

这样就完成了二级域名的部署。

小节

总的来说,这次改造还是很有成就感的,尤其是对我们这些前端来说,从刚开始对服务器半点都不懂,逐步摸索,到最终上线,这些过程还是很有意义的

关于nginx的安装和初步使用,打算最近专门整理分析一下,敬请期待~


推荐阅读
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文介绍了实时流协议(RTSP)的基本概念、组成部分及其与RTCP的交互过程,详细解析了客户端请求格式、服务器响应格式、常用方法分类及协议流程,并提供了SDP格式的深入解析。 ... [详细]
  • 在运行于MS SQL Server 2005的.NET 2.0 Web应用中,我偶尔会遇到令人头疼的SQL死锁问题。过去,我们主要通过调整查询来解决这些问题,但这既耗时又不可靠。我希望能找到一种确定性的查询模式,确保从设计上彻底避免SQL死锁。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • 一、Tomcat安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat8.0\webapps二、Tomcat8.0配置多个端口,其实也就是给T ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 思科IOS XE与ISE集成实现TACACS认证配置
    本文详细介绍了如何在思科IOS XE设备上配置TACACS认证,并通过ISE(Identity Services Engine)进行用户管理和授权。配置包括网络拓扑、设备设置和ISE端的具体步骤。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文探讨了在使用JavaMail发送电子邮件时,抄送功能未能正常工作的问题,并提供了详细的代码示例和解决方法。 ... [详细]
  • POJ2263是一个经典的图论问题,涉及寻找从起点到终点的最大载重路径。本文将详细介绍该问题的背景、解题思路及代码实现。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
author-avatar
核电列兵_851
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有