nginx管理本地服务器取决于收入域名

时间:2013-03-21 11:54:08

标签: dns nginx

我有几个应用程序在不同的端口运行localy,我如何配置NGINX服务器从端口80转发请求到我的应用程序取决于收入域名。例如,端口8181上有2个名为“app1”的本地应用,如果请求来自http://app1.com - nginx转发到http://localhost:8181

我看过nginx文档,如果有人这样做,我会问你的例子。 感谢

2 个答案:

答案 0 :(得分:6)

假设您要创建reverse proxy,我的方法是首先在名为/etc/nginx/reverse-proxy.conf的新文件中配置以下反向代理设置:

# Serve / from local http server.
# Just add the following to individual vhost configs:
# proxy_pass http://localhost:3001/;

proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;

然后,对于我正在配置的每个反向代理,我在/etc/nginx/sites-enabled中添加了一个适当命名的配置文件,其中包含以下内容:

server {
    server_name app1.com;
    server_name www.app1.com;
    location / {
        include /etc/nginx/reverse-proxy.conf;
        proxy_pass http://localhost:8181/;
    }
}

您可以根据需要创建任意数量的server块,并将它们指向不同的本地(甚至远程)应用程序服务器。您还可以添加location块以静态地为同一域中的不同URL提供服务,或者从不同的本地应用程序服务器提供。{/ p>

(您也可以将所有配置都滚动到/etc/nginx/nginx.conf,但我发现将配置分成多个文件更容易。)

答案 1 :(得分:2)

我设法按照this tutorial轻松完成了这项工作。

在名为/etc/nginx/conf.d/的{​​{1}}中创建一个新文件并将其放入其中:

your-domain.com.conf

然后重启nginx

server { listen 80; server_name your-domain.conf.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:2368; } }