子域,nginx和godaddy
以下是先决条件:子域,nginx和godaddy,nginx,subdomain,Nginx,Subdomain,以下是先决条件: 我已经在godaddy注册了domainexample.com 我在8080端口上运行了一个带有几个应用程序的Tomcat。8080端口对世界来说是隐藏的 我想将subdomain.example.com映射到服务器:8080/subdomain。我希望将来可以进行类似的映射(subdomain2.example.com到server:8080/anotherContext,例如) example.com应该映射到server:8080/mainPageApp 所有其他应用程
- 我已经在godaddy注册了domain
example.com
- 我在
端口上运行了一个带有几个应用程序的Tomcat。8080端口对世界来说是隐藏的8080
- 我想将
映射到subdomain.example.com
。我希望将来可以进行类似的映射(服务器:8080/subdomain
到subdomain2.example.com
,例如)server:8080/anotherContext
应该映射到example.com
server:8080/mainPageApp
- 所有其他应用程序都应该可以通过其上下文进行访问:
->example.com/app
server:8080/app
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;
}
}
嗯。我得到了这份工作。不确定解决方案是否正确,但: 首先,我需要在Tomcat中设置一个子域 域配置与问题中的一样-它很好
最后,我把
subdomain.war
放到我的Tomcat的webapp
目录中,它就像一个魔咒 向前看,您可以将proxy\u set\u头
放入它们自己的文件(proxy.conf
),并将其作为宏包含在每个位置块中。您还可以为godaddy配置一个*作为通配符dns,将每个子域指向您的ip地址。这是非常有用的测试。最后一个愚蠢的把戏是,如果这是一个本地框,或者你需要某种本地测试,你可以在godaddy配置dns指向127.0.0.1
。哇!最后一个技巧很酷。我使用了etc/hosts
文件来处理这个问题。是的,如果你在处理Twitter/Facebook oAuth,它工作得很好。您只需在指向“localdev.domain.com”的每个节点上创建备用“测试”API键,在godaddy上将其设置为127.0.0.1,然后您的整个团队就可以处理该问题,而无需处理主机。(这很烦人,因为你总是忘记停用那里的某些东西。你总是这样做!)
<Host name="subdomain.example.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="subdomain" />
</Host>
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;
}
}