使用可变子域名是一种很好的做法吗?

时间:2016-05-31 14:28:24

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

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

例如,如果我的主页是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

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

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

但是,似乎太容易了......:/

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

您可以选择作为工程师,标准为

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