【问题标题】:Is a good practice using variable subdomains?使用可变子域是一种好习惯吗?
【发布时间】:2016-05-31 14:28:23
【问题描述】:

我有一个网页,现在我想添加子域以便拥有更多可读的网址

比如我的主页是www.myshop.com添加

product1.myshop.com
category1.myshop.com
etc...

它托管在 Digital Ocean 上,运行于:Ubuntu、nginx、unicorn 和 POstgreSql 数据库,使用 Ruby on Rails 开发

在阅读了有关子域的文档后,我意识到我可以拥有可变子域,我尝试过的是:

1) 在“数字海洋的域配置”中添加带*的“A”记录

2) 修改 nginx 配置文件,像我为“www”子域所做的那样添加一个新行,但带有“*”

server {
   listen 80;
   server_name myshop.com;
   return 301 $scheme://www.myshop$request_uri;

   # NEW LINE --->
   return 301 $scheme://*.myshop$request_uri; 
}

之后,在 Ruby on Rails 程序中,捕获 myshop.com 之前的任何内容(类别、产品名称...等作为子域)很容易,我可以在那里重定向到类别网页或产品网页,或者什么都自动!

例如,如果用户输入 whells.myshop.com 我将重定向到 www.mysop.com/categories/wheels

(当然,最棒的是轮子是表中的值)

无需在Digital Ocean或ngingx配置文件中注册子域名

但是,似乎太容易令人难以置信......:/

这不安全吗?是不好的做法吗?

非常感谢,(stackoverflow:非常好的网络和非常好的用户)

【问题讨论】:

    标签: security ruby-on-rails-4 nginx subdomain unicorn


    【解决方案1】:

    不,与使用路径来引导请求相比,使用子域没有固有风险。这完全取决于您如何组织代码、使用什么工具、如何组织在网站上工作的不同团队等。

    在这两种情况下,您都需要强大的身份验证和授权。

    当您在同一个域上有两个不同的网站时,通常子域很有用。例如,wordpress.com 为在wordpress.com 上拥有站点的每个用户使用子域。如果我要在那里建立一个站点,它将是saq7.wordpress.com

    但是,他们也可以选择使用路径来路由到不同用户www.wordpress.com/saq7的不同网站。

    作为一名工程师,你可以做出选择,标准是

    • 网址本身的优雅
    • 代码组织
    • 您的团队组织
    • 无论你喜欢橘子还是苹果...

    【讨论】:

    • 域的一个缺点是它必须被解析,所以它可能会减慢一点速度。
    猜你喜欢
    • 2011-03-06
    • 1970-01-01
    • 2019-03-06
    • 2013-03-30
    • 2015-09-02
    • 1970-01-01
    • 2015-02-18
    • 2016-03-20
    • 1970-01-01
    相关资源
    最近更新 更多