nginx反向代理踩坑實戰(zhàn)記錄(容器方式)
一、簡述
1.1 什么是反向代理?
這很重要,反向代理就是代理服務(wù)器代理真實服務(wù)器??蛻舳艘詾榇矸?wù)器就是真實服務(wù)器,所以就會把要請求的==資源(URL)==發(fā)給代理服務(wù)器。
代理服務(wù)器一般是由nginx來充當(dāng),代理功能由配置文件來完成。

1.2 看圖理解
畫的倉促,大概有這個意思

1.3 錯誤總結(jié)
錯誤記錄:
nginx和tomcat全容器化
用nginx代理兩臺tomcat服務(wù)器,
當(dāng)訪問資源帶edu的時候交給tomcat1
當(dāng)訪問資源帶vod的時候交給tomcat2
做反向代理測試的時候,寫的是完整的URL,不是部分路徑。因為代理服務(wù)器在客戶端看來就是真實服務(wù)器!??!
這次對反向代理的理解更深刻了,堅持下來沒有錯。
同時,請教別人也是必須的,多交流多思考才能更好的解決問題~
以下是錯誤演示

二、正確案例
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怎么代理本地項目
不可以!
要么都在云端,只有代理服務(wù)器IP和真實服務(wù)器IP能互通的情況下才能代理?。?!
總結(jié)
到此這篇關(guān)于nginx反向代理踩坑實戰(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實現(xiàn)高可用的詳細(xì)步驟
這篇文章主要介紹了nginx+tomcat+keepalived實現(xiàn)高可用,包括安裝nginx服務(wù)的步驟,詳細(xì)介紹了安裝keepalived的方法,對nginx+tomcat+keepalived高可用相關(guān)知識感興趣的朋友一起看看吧2022-03-03
Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解
這篇文章主要介紹了Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解,文中使用到了Nginx中的proxy_pass配置項,需要的朋友可以參考下2016-04-04
Nginx中定義404頁面并且返回404狀態(tài)碼的正確方法
這篇文章主要介紹了Nginx中定義404頁面并且返回404狀態(tài)碼的正確方法,本文在一次AJAX調(diào)用時發(fā)現(xiàn)了這個問題,服務(wù)器返回了一個404頁頁但沒有返回404狀態(tài)碼,需要的朋友可以參考下2014-08-08
Nginx配置實現(xiàn)高效精準(zhǔn)的流量限制策略詳解
限流(Rate?Limitting)是服務(wù)降級的一種方式,通過限制系統(tǒng)的輸入和輸出流量以達(dá)到保護(hù)系統(tǒng)的目的,下面我們就來看看如何通過配置Nginx實現(xiàn)高效精準(zhǔn)的流量限制策略吧2024-02-02
Nginx/Openresty中啟用http2支持的方法教程
Openresty/Nginx默認(rèn)是不支持http2的,需要將http2模塊編譯進(jìn)應(yīng)用中。這篇文章主要給大家介紹了關(guān)于在Nginx/Openresty中啟用http2支持的方法教程,文中介紹的非常詳細(xì),對大家具有一的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-07-07

