2

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

我查看了 nginx 文档,如果有人这样做,我会询问您的示例。谢谢

4

2 回答 2

6

假设您要创建反向代理,我的方法是首先在一个名为的新文件中配置以下反向代理设置/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 提供服务,或者来自不同的本地应用程序服务器。

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

于 2013-03-21T12:30:05.013 回答
2

通过遵循本教程,我设法轻松地做到了这一点。

/etc/nginx/conf.d/在调用中创建一个新文件your-domain.com.conf并将其放入其中:

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;
    }
}

然后重启nginx

sudo service nginx restart

于 2015-05-21T10:36:17.543 回答