使用nginx和Namecheap设置子域

时间:2017-09-17 15:52:16

标签: nginx proxy dns ubuntu-server namecheap

似乎有许多不同的冲突方式,所以我有点困惑,需要一些帮助。 我的服务器上有几个站点在不同的端口上运行。 我在端口8085上有一个项目管理站点,在3000上有一个仪表板等。 我想为每个子域创建子域,我希望能够使用nginx而不是屏蔽来实现它。

现在我有一个指向我的IP地址的DNS A记录,它成功显示“欢迎使用nginx!”页。 我如何制作它,以便如果我访问该页面,比如,投影.url.com nginx将代理传递给http://localhost:8085并且正确的网址将继续显示在浏览器中?

感谢您的帮助!

这是我当前的网站文件摘要,似乎没有办法:

server {
listen 80;
server_name projects.calben.xyz www.projects.calben.xyz;
location / {
    proxy_pass http://localhost:8085/;
}
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }
}

1 个答案:

答案 0 :(得分:1)

首先设置通配符子域以指向您的服务器IP。或者,如果您需要,可以设置所需的特定子域。

https://www.namecheap.com/support/knowledgebase/article.aspx/597/2237/how-can-i-set-up-a-catchall-wildcard-subdomain

假设你有一个配置为/etc/nginx/sites-available/default.conf

的配置的nginx

您将备份并删除server { listen 80; server_name sub.example.com; location / { proxy_pass http://127.0.0.1:8085; } } 。然后,您将添加带有子域名的文件

<强> sub.example.com.conf

/etc/nginx/sites-enabled/sub.example.com.conf

然后在http://sub.example.com中对此文件进行符号链接并重新启动nginx。现在,您的网站可以在dataExtension

访问