【问题标题】:Setting up nginx to support custom domain name设置nginx支持自定义域名
【发布时间】:2016-01-17 01:58:09
【问题描述】:

我有一个 Django Web 应用程序托管在 VM 上,基于 Debian 的 Ubuntu 作为操作系统,nginx 反向代理 + gunicorn 作为网络服务器。

此 Web 应用程序的 DNS 是 myapp.cloudapp.net。我还有一个 ccTLD mydomain.pk 我需要配置为此 Web 应用程序的自定义域名。

我原来的注册商只支持域名服务器。因此,我在 dns.he.net(一个免费的 DNS 托管服务提供商)上创建了一个帐户来托管我的域名服务器,并为我的机器设置了 CName。

我的问题是,一旦我将 CName 设置为指向我的 Web 应用程序的 DNS,在浏览器中输入 mydomain.pk 只会显示一个通用的 Welcome to ngnix! 页面。而在浏览器中输入myapp.cloudapp.net(或myapp.cloudapp.net:80)可以正确打开Web 应用程序。为什么设置 CName 不起作用?

我已与 dns.he.net 的支持人员进行了交谈 - 我被告知我的 CName 设置正确,并且我的 nginx 配置可能存在一些问题。

例如,这是我的etc/nginx/sites-available/myproject 文件:

server {
    listen 80;
    server_name myapp.cloudapp.net;
    charset utf-8;
    underscores_in_headers on;
    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {

        root /home/myuser/projectpk/project;
    }

    location /static/admin {

        root /home/myuser/.virtualenvs/projectpk/local/lib/python2.7/site-packages/django/contrib/admin/static/;
    }

    location / {
        proxy_pass_request_headers on;
        proxy_buffering on;
        include proxy_params;
        proxy_pass          http://unix:/home/myuser/projectpk/project/project.sock;
    }


    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /home/myuser/projectpk/project/templates/;
    }
}

【问题讨论】:

  • 您可以删除 server_name 行,在 nginx 中不需要它,除非您想根据收到的主机名提供不同的内容。如果您删除该行,nginx 将响应在正确端口(在本例中为 80)到达您的服务器的任何请求
  • @tato: 嗯,好吧,虽然myapp.cloudapp.net 工作正常,当我设置CName 时,server_name 行如何扰乱转发?或者这不是你的意思?

标签: nginx dns webserver cname


【解决方案1】:

删除server_name 行,除非您想根据收到的主机名提供不同的内容,否则在 nginx 中不需要它。

如果您删除该行,nginx 将响应在正确端口(在本例中为 80)到达您的服务器的任何请求,并在 Host 标头中带有 myapp.cloudapp.netmydomain.pk

这假设 /etc/nginx/sites-enabled 中没有其他配置可以捕获请求。

【讨论】:

  • 啊,不,这个更改给了我一个通用的Welcome to nginx! 页面,即使现在在myapp.cloudapp.net 上也是如此。
  • 您在 /etc/nginx/sites-enabled 目录中还有其他配置文件吗?它可能会收到请求。尝试删除另一个
  • 我在那边的另一个文件是default,这可能是罪魁祸首。让我回复你,等一下。
  • 删除它(它可能是指向可用网站的链接,因此可以安全删除)或将其移至别处
  • 为了完整性:sites-available 文件夹中仍然有 default 文件。如果我让它留下来有什么关系吗?
猜你喜欢
  • 2018-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
  • 2016-04-07
  • 2017-08-29
相关资源
最近更新 更多