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

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

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

二、正確案例
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
先啟動一個(gè)
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如何根據(jù)報(bào)文里字段轉(zhuǎn)發(fā)至不同地址
要在 Nginx 中根據(jù) POST 請求的 JSON 負(fù)載中的 id 字段的值進(jìn)行轉(zhuǎn)發(fā),你可以使用 Nginx 的 ngx_http_lua_module 模塊,這個(gè)模塊允許你在 Nginx 配置中使用 Lua 腳本,本文介紹nginx如何根據(jù)報(bào)文里字段轉(zhuǎn)發(fā)至不同地址,感興趣的朋友一起看看吧2024-12-12
Nginx rewrite和proxy_pass的區(qū)別及說明
這篇文章主要介紹了Nginx rewrite和proxy_pass的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Nginx 實(shí)現(xiàn)灰度發(fā)布的三種方法總結(jié)
這篇文章主要介紹了Nginx 實(shí)現(xiàn)灰度發(fā)布的三種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-05-05
詳解Nginx反向代理實(shí)現(xiàn)會話(session)保持的兩種方式
這篇文章主要介紹了詳解Nginx反向代理實(shí)現(xiàn)會話(session)保持的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
講解Nginx服務(wù)器中設(shè)置本地瀏覽器緩存的簡單方法
這篇文章主要介紹了Nginx服務(wù)器中設(shè)置本地瀏覽器緩存的簡單方法,需要的朋友可以參考下2015-12-12
PHP的Symfony和CodeIgniter框架的Nginx重寫規(guī)則配置
這篇文章主要介紹了PHP的Symfony和CodeIgniter框架的Nginx重寫規(guī)則配置,文中截取配置中關(guān)鍵的一些rewrite寫法進(jìn)行講解,需要的朋友可以參考下2016-01-01
nginx鏡像構(gòu)建的知識點(diǎn)及方法步驟詳解
這篇文章主要為大家介紹了nginx鏡像構(gòu)建的知識點(diǎn)詳解,<BR>有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
nginx部署多個(gè)前端項(xiàng)目詳細(xì)步驟
最近一臺服務(wù)器要配置多個(gè)前端項(xiàng)目,當(dāng)然前后端分離就需要nginx來配置了,下面這篇文章主要給大家介紹了關(guān)于nginx部署多個(gè)前端項(xiàng)目的詳細(xì)步驟,需要的朋友可以參考下2023-10-10

