使用 Nginx 服务器在 Amazon EC2 中创建子域

使用 Nginx 服务器在 Amazon EC2 中创建子域

我正在使用 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
  ...
}

相关内容