nginx反向代理踩坑實戰(zhàn)記錄(容器方式)
一、簡述
1.1 什么是反向代理?
這很重要,反向代理就是代理服務器代理真實服務器??蛻舳艘詾榇矸掌骶褪钦鎸嵎掌?,所以就會把要請求的==資源(URL)==發(fā)給代理服務器。
代理服務器一般是由nginx來充當,代理功能由配置文件來完成。
1.2 看圖理解
畫的倉促,大概有這個意思
1.3 錯誤總結
錯誤記錄:
nginx和tomcat全容器化
用nginx代理兩臺tomcat服務器,
當訪問資源帶edu的時候交給tomcat1
當訪問資源帶vod的時候交給tomcat2
做反向代理測試的時候,寫的是完整的URL,不是部分路徑。因為代理服務器在客戶端看來就是真實服務器?。?!
這次對反向代理的理解更深刻了,堅持下來沒有錯。
同時,請教別人也是必須的,多交流多思考才能更好的解決問題~
以下是錯誤演示
二、正確案例
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復制文件
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 重啟所有服務
docker restart …
2.5 測試
三、云服務器上跑的nginx怎么代理本地項目
不可以!
要么都在云端,只有代理服務器IP和真實服務器IP能互通的情況下才能代理!??!
總結
到此這篇關于nginx反向代理踩坑實戰(zhàn)的文章就介紹到這了,更多相關nginx反向代理踩坑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx location 和 proxy_pass路徑配置問題小結
本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,進行測試,完全還原了整個測試過程,本文給大家介紹Nginx location 基本配置及相關配置文件,感興趣的朋友跟隨小編一起看看吧2021-09-09使用nginx+tomcat+keepalived實現(xiàn)高可用的詳細步驟
這篇文章主要介紹了nginx+tomcat+keepalived實現(xiàn)高可用,包括安裝nginx服務的步驟,詳細介紹了安裝keepalived的方法,對nginx+tomcat+keepalived高可用相關知識感興趣的朋友一起看看吧2022-03-03Nginx中定義404頁面并且返回404狀態(tài)碼的正確方法
這篇文章主要介紹了Nginx中定義404頁面并且返回404狀態(tài)碼的正確方法,本文在一次AJAX調(diào)用時發(fā)現(xiàn)了這個問題,服務器返回了一個404頁頁但沒有返回404狀態(tài)碼,需要的朋友可以參考下2014-08-08Nginx/Openresty中啟用http2支持的方法教程
Openresty/Nginx默認是不支持http2的,需要將http2模塊編譯進應用中。這篇文章主要給大家介紹了關于在Nginx/Openresty中啟用http2支持的方法教程,文中介紹的非常詳細,對大家具有一的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07