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