首页 > 编程知识 正文

域名重定向怎么设置,一键转发代理

时间:2023-05-04 04:55:06 阅读:115884 作者:2008

今天我们将分享域名重定向小知识和在腾讯云开发CloudBase中实现域名重定向的实践。

在痛点产生之前,我开发了一个编程导航网站。 将网站放在腾讯云开发上,通过云托管进行了部署和维护。 我还购买了域名code-nav.cn。 云开发后台访问服务将域名的子域名www.code-nav.cn与存储网站文件的容器相关联,并配置为如图所示。

然后,您可以通过www.code-nav.cn访问此网站。

但是很快,我发现了一个严重的问题。

很多同学都想访问我的网站,但是因为他们输入的网址是code-nav.cn,所以省略了网址前缀www,不能访问网站了。 我失去了一组用户。

首战-域名配置要解决这个问题,其实很简单。 虽然以前将www子域名配置为指向容器,但如果在云开发的后台添加另一个展开,使购买的域名(父域名) code-nav.cn也指向容器,那不是更好吗

配置如下:

现在,用户无需输入或不输入www前缀就可以访问我们的网站。

虽然看起来非常完美,但目前网站其实还存在一定问题

现有问题首先是,带www和不带www实际上是两个不同的网站,用户感觉好像访问了同一个网站。 但是,对于搜索引擎,pcdlz会将他们识别为两个不同的站点,并在每个路径中记录站点的内容,从而分散权重。 虽然对流量少的网站影响不大,但这是大网站必须处理的问题。

此外,访问代码- nav.cn (无www )的用户反映无法加载站点上的数据。 这是对腾讯云开发的WEB安全域名的限制,因为只有白名单中的域名才允许访问云资源(数据、文件等),所以安全配置包含code-nav.cn域名

现在访问已成功,但如果业务中仍有与www URL密切相关的逻辑,例如用户确定要访问的URL必须是www.code-nav.cn才能登录,则必须修改代码。 稍微考虑不够的话,一些功能会产生问题。

为了解决这些问题,可以使用重定向技术。

重定向是一个广泛的概念,它通过多种方式(如网页重定向、域名重定向和数据消息重定向)将各种网络请求重定向到其他位置。

在网站开发中,如果用户访问旧网站太多重定向的APP场景(例如,在用户未登录时,将输入的网址自动跳转到登录页),则新网页将自动更新重定向不仅是导游,也是一名霸道的保安。

因此,许多大型网站都采用了重定向技术。 例如,如果您访问google.com,然后按F12查看开发人员控制台,您将看到网址在302处被重定向,并自动跳转到www.com。

问题是什么是302重定向?

让我们看看常见的重定向HTTP状态代码。

http://www.Sina.com/http://www.Sina.com /

附图标记301表示移动性能,其中,所请求的资源已经永久移动到位置报头中指定的url,由于该url是固定的,因此不会改变,并且搜索引擎将基于该响应进行修改。

另一方面,302是临时转移,指示所请求的资源已经临时转移到在位置报头中指定的URL。 浏览器将重定向至此URL,但搜索引擎不会更新此资源的链接。

301和302可以将用户输入的URLa更改为重定向的URLb,但存在差异。

重定向 HTTP 状态码301表示原始地址a的资源已删除,永远不能访问,并且在搜索引擎抓住内容时将所有地址a替换为b; 302指示站点a还活着,搜索引擎捕获站点b的新内容并保留站点a的记录。和重定向有关的 HTTP 状态码主要是 301、302、303、307、308,最常用的是 301 和 302,可以看看 MDN 官方对它们的解释。302跳转有网站被劫持的风险,会被网站劫持。 再战争—云开发重定向实践搜索引擎区别:

实现重定向的方法有很多。 很大程度上取决于您使用的web服务器,如Nginx、Apache和Tomcat。 通常,向服务器中添加一些配置即可。

我的编程导航网站在云开发提供的云托管功能中已在容器中部署。 我将开发的站点文件与提供web服务的Nginx服务器打包在一起,创建了容器。 然后,每个容器都可以作为小服务器独立运行。

要支持重定向,只需更改Nginx的配置。 例如,这里决定向整个站点添加301永久重定向。 配置文件如下:

服务器{ listen 80; # gzip配置gzip on;根/usr/share/nginx/html; 英特尔公司

de /etc/nginx/mime.types; # 添加重定向 if ($http_host ~ "^code-nav.cn") { rewrite ^(.*) https://www.code-nav.cn permanent; }}

不必手写和记忆 Nginx 配置,直接使用可视化界面生成即可:

详情参见这篇文章:轻松搞定 Nginx 配置代码的神器!其他的服务器配置也可以自行查阅文档,这里不再赘述。

然后,在云托管上创建新版本,发布新的容器,就大功告成啦!

查看下效果,访问code-nav.cn,网站重定向到了www.code-nav.cn,完美!

最后,回顾下在腾讯云云开发中实现域名重定向的完整过程,包括如下步骤:

在 访问服务 中添加父域名到网站的指向(云托管等)在 安全配置 中添加父域名到白名单中在 web 服务器中添加重定向配置新建版本,部署发布

整个流程还是非常简单的~ 有需要的同学快去试试吧!

产品介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等serverless化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
开通云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
产品文档:https://cloud.tencent.com/product/tcb?from=12763
技术文档:https://cloudbase.net?from=10004
技术交流群、最新资讯关注微信公众号【腾讯云云开发】

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。