nginx反向代理踩坑實(shí)戰(zhàn)記錄(容器方式)
一、簡述
1.1 什么是反向代理?
這很重要,反向代理就是代理服務(wù)器代理真實(shí)服務(wù)器??蛻舳艘詾榇矸?wù)器就是真實(shí)服務(wù)器,所以就會把要請求的==資源(URL)==發(fā)給代理服務(wù)器。
代理服務(wù)器一般是由nginx來充當(dāng),代理功能由配置文件來完成。
1.2 看圖理解
畫的倉促,大概有這個意思
1.3 錯誤總結(jié)
錯誤記錄:
nginx和tomcat全容器化
用nginx代理兩臺tomcat服務(wù)器,
當(dāng)訪問資源帶edu的時(shí)候交給tomcat1
當(dāng)訪問資源帶vod的時(shí)候交給tomcat2
做反向代理測試的時(shí)候,寫的是完整的URL,不是部分路徑。因?yàn)榇矸?wù)器在客戶端看來就是真實(shí)服務(wù)器?。?!
這次對反向代理的理解更深刻了,堅(jiān)持下來沒有錯。
同時(shí),請教別人也是必須的,多交流多思考才能更好的解決問題~
以下是錯誤演示
二、正確案例
2.1 啟動nginx
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
先啟動一個
docker run -it -p 8080:8080 tomcat
docker cp復(fù)制文件
docker cp 容器id:/usr/local/tomcat/webapps.dist/* /opt/webapps
再啟動掛載卷
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
建文件,建資源
[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
[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 重啟所有服務(wù)
docker restart …
2.5 測試
三、云服務(wù)器上跑的nginx怎么代理本地項(xiàng)目
不可以!
要么都在云端,只有代理服務(wù)器IP和真實(shí)服務(wù)器IP能互通的情況下才能代理?。?!
總結(jié)
到此這篇關(guān)于nginx反向代理踩坑實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)nginx反向代理踩坑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx location 和 proxy_pass路徑配置問題小結(jié)
本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,進(jìn)行測試,完全還原了整個測試過程,本文給大家介紹Nginx location 基本配置及相關(guān)配置文件,感興趣的朋友跟隨小編一起看看吧2021-09-09使用nginx+tomcat+keepalived實(shí)現(xiàn)高可用的詳細(xì)步驟
這篇文章主要介紹了nginx+tomcat+keepalived實(shí)現(xiàn)高可用,包括安裝nginx服務(wù)的步驟,詳細(xì)介紹了安裝keepalived的方法,對nginx+tomcat+keepalived高可用相關(guān)知識感興趣的朋友一起看看吧2022-03-03Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解
這篇文章主要介紹了Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解,文中使用到了Nginx中的proxy_pass配置項(xiàng),需要的朋友可以參考下2016-04-04Nginx中定義404頁面并且返回404狀態(tài)碼的正確方法
這篇文章主要介紹了Nginx中定義404頁面并且返回404狀態(tài)碼的正確方法,本文在一次AJAX調(diào)用時(shí)發(fā)現(xiàn)了這個問題,服務(wù)器返回了一個404頁頁但沒有返回404狀態(tài)碼,需要的朋友可以參考下2014-08-08Nginx配置實(shí)現(xiàn)高效精準(zhǔn)的流量限制策略詳解
限流(Rate?Limitting)是服務(wù)降級的一種方式,通過限制系統(tǒng)的輸入和輸出流量以達(dá)到保護(hù)系統(tǒng)的目的,下面我們就來看看如何通過配置Nginx實(shí)現(xiàn)高效精準(zhǔn)的流量限制策略吧2024-02-02Nginx/Openresty中啟用http2支持的方法教程
Openresty/Nginx默認(rèn)是不支持http2的,需要將http2模塊編譯進(jìn)應(yīng)用中。這篇文章主要給大家介紹了關(guān)于在Nginx/Openresty中啟用http2支持的方法教程,文中介紹的非常詳細(xì),對大家具有一的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-07-07Windows下用Nginx代理Django安裝配置實(shí)例
這篇文章主要介紹了Windows下用Nginx代理Django安裝配置實(shí)例,本文講解了安裝djanjo、用djanjo生成簡單web頁面、用nginx進(jìn)行代理等內(nèi)容,需要的朋友可以參考下2015-03-03