1
leojoy710 2013-07-08 17:56:56 +08:00
从$host拿到变量反向代理到app的对应的route上?...
|
2
2code 2013-07-08 17:57:09 +08:00
首先,子域名可以配置wildcard
然后...... |
3
xdite 2013-07-08 17:57:57 +08:00
```
constraints(Subdomain) do get '/' => 'posts#index' resources :posts do collection do get :search end end end ``` ``` # -*- encoding : utf-8 -*- class Subdomain def self.matches?(request) case request.host when Setting.host, "www.#{Setting.host}", nil false else true end end end ``` 配上 nginx 的 wildcard |
5
xdite 2013-07-08 18:00:38 +08:00
|
7
kenneth OP @xdite 感谢大牛分享rails实现,但是我想自己在tornado中也实现一下,nginx这边配置还不是很懂原理。是反向代理?还是什么?
比如自定义域名aaa.com 访问 www.aaa.com 解析到ip 请求进来nginx nginx这里配置不明白。。。 |
8
leojoy710 2013-07-08 18:13:09 +08:00
|
9
lhx2008 2013-07-08 18:17:09 +08:00
我想应该是全部解析到一个PHP程序(nginx配置添加多个域名),然后PHP识别当前域名,抽出相关的内容,这个是比较简单的程序吧,像点点那些不清楚
|
10
kenneth OP @leojoy710 是不是我在自绑定域名的地方,CNAME指向kenneth.aaa.com,然后再自己分发请求路由?
|
11
xdite 2013-07-08 18:20:52 +08:00
我收到某一個 controller 裡面,然後 find_by_subdomain 或 find_by_fqdn 決定 render 誰的 blog.
|
12
leojoy710 2013-07-08 18:26:50 +08:00
@kenneth *.aaa.com都指向你服务器...
然后nginx就能收到*.aaa.com了...然后你看是在nginx上做还是在tornado里面做... |
13
kenneth OP @xdite 我不太明白tornado中如何处理这请求了。我想在我的tornado博客程序中也实现一下。
kenneth.aaa.com hello.aaa.com world.aaa.com 这样二级域名我可以处理但是如果绑定www.mydomain.com cname解析到kenneth.aaaa.com我就不知道怎么处理了 |
14
xdite 2013-07-08 20:20:23 +08:00
@kenneth https://gist.github.com/xdite/5948350 code 在這裡
|
15
messense 2013-07-08 20:23:40 +08:00
|
16
BOYPT 2013-07-09 09:09:28 +08:00
@kenneth CNAME的意思是www.mydomain.com的IP地址和kenneth.aaaa.com一样,但是kenneth.aaaa.com不会出现在任何逻辑当中。
|
17
thetcc 2013-07-09 09:17:38 +08:00
泛解析,把*.yourdomain.com 解析到你的IP,你的程序获取到hostname,根据hostname的第一个字符串,比如abc.yourdomain.com,根据abc显示abc用户的主页就可以了。 有没有nginx都可以的,你也可以根据abc的字符串分组分发到不同的实例。
|