【发布时间】:2018-12-15 01:22:54
【问题描述】:
我想将 NGINX 配置为其他微服务的反向代理。
我能够将来自 NGINX 的请求转发到其中一个微服务
如果我这样做 curl http://xx.xx.xx.xx:8080/ 电话确实登陆了 consumer-portal 但是
它使用默认位置配置/
当我评论1st 块并为位置/consumer-portal 配置相同的code 并执行curl http://xx.xx.xx.xx:8080/consumer-portal 时
我明白了:
无法获取 /consumer-portal
我想使用 NGINX 调用超过 10 个微服务。
下面是我的nginx.conf文件
worker_processes 4;
events {
worker_connections 1024;
}
http {
sendfile on;
upstream consumer-portal {
server xx.xx.xx.xx:9006;
}
upstream publisher-portal {
server xx.xx.xx.xx:9001;
}
server {
listen 8080;
#1st Block
#location / {
# proxy_pass http://consumer-portal;
# proxy_redirect off;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Host $server_name;
#}
#2nd Block
location /consumer-portal {
proxy_pass http://consumer-portal;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
#3rd Block
location /publisher-portal/ {
proxy_pass http://publisher-portal;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
另外,如果我可以使用 docker 容器名称转发请求,请告诉我。
例如,我想使用 server consumer-portal:9006 而不是服务器 xx.xx.xx.xx:9006
请建议我需要对 .conf 文件进行哪些更改。
【问题讨论】:
标签: docker nginx docker-machine nginx-location nginx-reverse-proxy