nginx代理三台内容不同主机
image.png

场景一:主机内容不同

nginx代理的后端几台服务器内容不同
由于主机有限现用一台主机不同端口来模拟三台主机的不同ip

name 公网ip 内网ip
node1 116.63.97.132 172.16.0.168
node2 116.63.57.34:{9001,9002,9003} 172.16.0.94

修改被代理主机配置文件:

  1. [root@node2 ~]# vi /etc/nginx/nginx.conf
  2. ......
  3. server { #三个server分别用不同的端口来模拟三台不同的主机
  4. listen 9001 ;
  5. server_name lcoalhost;
  6. default_type text/json;
  7. location / {
  8. return 200 '<h1>9001</h1>'; #可以是
  9. }
  10. }
  11. server {
  12. listen 9002 ;
  13. server_name lcoalhost;
  14. default_type text/json;
  15. location / {
  16. return 200 '<h1>9002</h1>';
  17. }
  18. }
  19. server {
  20. listen 9003 ;
  21. server_name lcoalhost;
  22. default_type text/json;
  23. location / {
  24. return 200 '<h1>9003</h1>';
  25. }
  26. }

修改nginx代理主机:

  1. [root@node1 ~]# vim /etc/nginx/nginx.conf
  2. ......#添加一个server
  3. server {
  4. listen 8080 ; #通过8080来访问+/server{1,2,3}来访问不同主机
  5. server_name localhost;
  6. location /server1 {
  7. proxy_pass http://116.63.57.34:9001/;
  8. }
  9. location /server2 {
  10. proxy_pass http://116.63.57.34:9002/;
  11. }
  12. location /server3 {
  13. proxy_pass http://116.63.57.34:9003/;
  14. }
  15. }

就这样将三台不同内容的主机代理好了
通过浏览器进行验证:
image.png
image.png
image.png

场景二:主机内容相同