我在该服务器中有一个专用服务器,我部署了5个nodejs应用程序.
domain name: www.nnd.com
dedicated server ip: xxx.xx.x.60
Run Code Online (Sandbox Code Playgroud)
我有域指向我的专用服务器IP.
子域名是:
app1.nnd.com pointed to xxx.xx.x.60
app2.nnd.com pointed to xxx.xx.x.60
app3.nnd.com pointed to xxx.xx.x.60
app4.nnd.com pointed to xxx.xx.x.60
app5.nnd.com pointed to xxx.xx.x.60
Run Code Online (Sandbox Code Playgroud)
现在在基于我需要路由代理的子域的nginx配置文件中.例:
{
listen:80;
server_name:xxx.xx.x.60
location / {
#here based on subdomain of the request I need to create proxy_pass for my node application
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何条件,如何从代理标头获取原始域名?
Moh*_*ady 49
为每个人创建一个虚拟主机
server {
server_name sub1.example.com;
location / {
proxy_pass http://127.0.0.1:xxxx;
}
}
server {
server_name sub2.example.com;
location / {
proxy_pass http://127.0.0.1:xxxx;
}
}
Run Code Online (Sandbox Code Playgroud)
然后继续,更改端口号以匹配正确的端口.
Chi*_*Pai 17
您可以使用RegExp来获取此类主机名
server {
server_name ~^(www\.)?(?<domain>.+)$;
location / {
root /sites/$domain;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以为每个子域创建虚拟主机。
对于 Ex, 您有 2 个子域 abc.xyz.com 和 abcd.xyz.com ,并且您想通过 proxy_pass 在 nginx 单个实例上托管它,然后您可以简单地为每个子域创建虚拟主机
server {
server_name abc.xyz.com;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
server {
server_name abcd.xyz.com;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,您可以参考这里
| 归档时间: |
|
| 查看次数: |
42471 次 |
| 最近记录: |