一、简述
1.1 什么是反向代理?
这很重要,反向代理就是代理服务器代理真实服务器。客户端以为代理服务器就是真实服务器,所以就会把要请求的==资源(url)==发给代理服务器。
代理服务器一般是由nginx来充当,代理功能由配置文件来完成。
1.2 看图理解
画的仓促,大概有这个意思
1.3 错误总结
错误记录:
nginx和tomcat全容器化
用nginx代理两台tomcat服务器,
当访问资源带edu的时候交给tomcat1
当访问资源带vod的时候交给tomcat2
做反向代理测试的时候,写的是完整的url,不是部分路径。因为代理服务器在客户端看来就是真实服务器!!!
这次对反向代理的理解更深刻了,坚持下来没有错。
同时,请教别人也是必须的,多交流多思考才能更好的解决问题~
以下是错误演示
二、正确案例
2.1 启动nginx
1
|
docker run --name nginx -p 80:80 --link=tomcat:tomcat1 --link=tomcat02:tomca - v /opt/docker-nginx/nginx .conf: /etc/nginx/nginx .conf - v /opt/docker-nginx/log : /var/log/nginx - v /opt/docker-nginx/conf .d /default .conf: /etc/nginx/conf .d /default .conf -d 313ec0a602bc |
2.2 启动tomcat
先启动一个
1
|
docker run -it -p 8080:8080 tomcat |
docker cp复制文件
1
|
docker cp 容器 id : /usr/local/tomcat/webapps .dist/* /opt/webapps |
再启动挂载卷
1
2
|
docker run -it -p 8081:8080 --name tomcat01 - v /opt/webapps : /usr/local/tomcat/webapps tomcat docker run -it -p 8082:8080 --name tomcat02 - v /opt/webapps : /usr/local/tomcat/webapps tomcat |
建文件,建资源
1
2
3
4
5
6
7
8
9
10
11
|
[root@vm-16-8-centos vod] # ll total 4 -rw-r–r-- 1 root root 11 apr 14 21:42 a.html [root@vm-16-8-centos vod] # pwd /opt/tomcat/webapps/vod [root@vm-16-8-centos edu] # ll total 4 -rw-r–r-- 1 root root 8 apr 14 21:26 a.html [root@vm-16-8-centos edu] # pwd /opt/tomcat/webapps/edu |
2.3 配置nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@vm-16-8-centos docker-nginx] # vim nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application /octet-stream ; sendfile on; keepalive_timeout 65; server { listen 80; server_name xxx.xxx.xxx.xxx; location ~ /edu/ { proxy_pass http: //xxx .xxx.xxx.xxx:8081; } location ~ /vod/ { proxy_pass http: //xxx .xxx.xxx.xxx:8082; } } } |
2.4 重启所有服务
1
|
docker restart … |
2.5 测试
三、云服务器上跑的nginx怎么代理本地项目
不可以!
要么都在云端,只有代理服务器ip和真实服务器ip能互通的情况下才能代理!!!
总结
到此这篇关于nginx反向代理踩坑实战的文章就介绍到这了,更多相关nginx反向代理踩坑内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_45714272/article/details/124183925