子域名,nginx和godaddy

时间:2013-03-21 09:13:26

标签: nginx subdomain

以下是前提条件:

  • 我在godaddy注册了域名example.com
  • 我使用几个应用程序在8080端口上运行Tomcat。世界上隐藏着8080端口。
  • 我想将subdomain.example.com映射到server:8080/subdomain。我希望将来能够进行类似的映射(例如subdomain2.example.comserver:8080/anotherContext)。
  • example.com应映射到server:8080/mainPageApp
  • 所有其他应用程序应通过其上下文访问:example.com/app - > server:8080/app

目前,我只配置了godaddy(我不知道这是不是很好):

Godaddy domain config

你可以帮我解决这个案例的nginx配置问题吗?这是我的,但它发送无限重定向:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   html;
        index  index.html;
    }
}
server {
    listen       80;
    server_name  subdomain.localhost;

    location / {
        proxy_pass http://127.0.0.1:8080/subdomain;
    }
}

1 个答案:

答案 0 :(得分:2)

确定。我得到了这个工作。不确定解决方案是否正确但是:

首先,我需要在Tomcat中设置子域。 Here is the answer I was inspired with.

<Host name="subdomain.example.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="subdomain" />
</Host>

然后,使用:

配置nginx
server {
    listen       80;
    server_name  example.com;

    location / {
        root   /path/to/domain/root;
        index  index.html;
    }
}

server {
    listen       80;
    server_name  subdomain.example.com;

    location / {
        proxy_pass        http://subdomain.example.com:8080;
        proxy_set_header  Host             $http_host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

域配置仍然在问题中 - 这很好。

最后我只是将subdomain.war放到我的Tomcat的webapp目录中,它就像一个魅力!