【问题标题】:Configuring a subdomain on nginx using namecheap使用 namecheap 在 nginx 上配置子域
【发布时间】:2014-07-21 11:11:15
【问题描述】:

我使用 namecheap 购买了一个域名,为了简单起见,我们将其命名为 example.com。 我在基于 Debian 的 VPS 上运行 nginx。

我要设置如下配置

  • (www).example.com 点:到 var/www/blog
  • (www).static.example.com :指向 var/www/static

但是,我无法使用 nginx 配置子域,或者我需要使用 Namecheaps 控制面板来做这些事情?

这是我在 Namecheap 上的配置:

  • @111.111.111.111 记录类型:A TTL:1800
  • www example.com 记录类型:Cname/Alias TTL:1800

没有配置子域,我应该在这里配置子域吗!?

这是我的 nginx 配置:

server {
    root /var/www/blog;
    index index.html index.htm;
    server_name localhost example.com www.example.com;
    location / {
    index index.html index.htm;
   }
}

server {
    root /var/www/static;
    index index.html index.htm;
    server_name static.example.com www.static.example.com;
    location / {
    index index.html index.htm;
}

但是这会导致以下结果:

  • www.example.com 指向正确的目的地

  • random.example.com 指向 www.example.com(我不希望发生这种情况,它应该返回 404)

  • static.example.com 给我一个错误 400。如果我查看我的日志,它找不到文件 /var/www/blog/static/index.html,而实际上我希望它指向到 /var/www/static/index.html

【问题讨论】:

  • 是的,在 Namecheap 的 DNS 设置中创建一个“静态”子域。
  • @Chris “静态”子域应该指向哪里?只需到我的 VPS 的 IP 地址,然后从那里在 nginx 上就能弄清楚吗?
  • 是的!您已经添加了“server”指令来捕获 static.example.com 并将请求指向 /var/ww/static 目录。有趣的是:所以实际上任何人都可以将任何子域指向任何地方的任何服务器。但是如果服务器所有者没有在配置文件中添加必要的指令,并且如果您尝试访问未在 nginx 或 Apache 中配置的子域(或域),那么浏览器只会说,“不能找到 example.domain.com"。
  • @Chris 谢谢!这解决了我的问题,我忘了在 Namecheap 中配置子域。
  • @user3486416,您好,如果我的回答解决了这个问题,如果您能点击接受按钮将这个问题标记为已解决,我将不胜感激,谢谢! (您还会因接受答案而获得一些额外积分。)

标签: nginx configuration dns subdomain


【解决方案1】:

您必须记住,设置 DNS 和配置 nginx 是完全不同的任务。

我喜欢设置我的 DNS 的方式是从 www 和其他子域返回到原始域中的 CNAME,如果它们在逻辑上相同并且托管在同一台服务器上。 (但是,从技术上讲,这是不正确的,因为这意味着您指定所有域都有 MX 记录,以及 TXT / SPF 记录表明它们可以用于邮件。但没有人真正关心,因此,只要您的 TLD 本身不是CNAME,就应该没问题。)

您看不到来自random.example.com404,因为第一个server 成为您的默认服务器。为避免这种情况,您可能希望有一个额外的 server 上下文和带有 default_server 参数的 listen 指令,您可以在其中无条件地 return 404; 处理所有请求。

您的最终server 上下文可能无法正常工作的原因可能是缺少listen 指令。在所有服务器之间使用相同的 listen 指令通常会有所帮助。

【讨论】:

  • @laggingreflex,感谢您的赏金和 +1!请问你的问题是什么?
猜你喜欢
  • 2023-03-19
  • 2018-03-11
  • 2018-11-01
  • 1970-01-01
  • 2016-08-23
  • 2013-12-04
  • 2020-11-10
  • 2012-04-11
  • 1970-01-01
相关资源
最近更新 更多