系统相关
首页 > 系统相关> > Nginx反向代理配置

Nginx反向代理配置

作者:互联网

我遇到了一个简单的配置与nginx一起工作的问题.我有一个托管docker容器的服务器,所以nginx在容器中.所以我们打电话给url foo.com.我想url foo.com/service1实际上只是去另一个端口的foo.com,所以它实际上是拉foo.com:4321和foo.com/service2来拉foo.com:5432等等上.这是我遇到问题的配置.

http {
    server {
        listen 0.0.0.0:80;

        location /service1/ {
            proxy_pass http://192.168.0.2:4321/;
        }

        location /service2/ {
            proxy_pass http://192.168.0.2:5432/;
        }

    }
}

所以服务和nginx的生活在192.168.0.2.能够做到这一点的首选方法是什么?先感谢您!

作为旁注,这是在docker容器中运行的.谢谢!

解决方法:

我认为您应该首先通过删除反向代理配置来检查您的foo.com是否指向正确的IP地址.例如.

http {
    server {
        listen 80;
        server_name foo.com;

        location / {
        }
    }
}

然后,如果您的IP地址已经在端口80上运行了服务,则应为每个服务指定server_name,如我的示例所示. Nginx只能通过server_name区分哪个服务响应哪个域.

*我的猜测是你忘记了server_name选项.

标签:nginx,reverse-proxy
来源: https://codeday.me/bug/20190828/1753541.html