我正在使用 amazon ec2...我的应用程序是用 Ruby on Rails 编写的。我正在使用 Nginx 服务器。当用户注册时,如何创建子域并使其自动化 http://user.mywebsite.com?
答案1
为此,您需要访问您的 DNS 服务器 - 通过您的域名托管服务商或您用于管理 DNS 区域的任何方式。最简单的方法是使用通配符 DNS 条目(http://en.wikipedia.org/wiki/Wildcard_DNS_record)。这会将所有子域 .yourdomain.tld 发送到您的 EC2 实例。一旦你有了这个,你只需要在你的应用程序中执行一些逻辑,如果使用有效的子域(例如:用户名),它可以执行你想要的任何操作,或者如果子域未知,则重定向到你的登陆页面或错误页面。
啊,我遗漏了一件小事。您的网络服务器必须接受子域。如果您使用 Apache httpd,则 VirtualHost 配置中的以下行即可解决问题:
ServerAlias *.yourdomain.tld
对于 nginx,配置应如下所示:
server {
server_name *.yourdomain.tld
...
}