您好,登錄后才能下訂單哦!
本篇文章為大家展示了使用nginx怎么實現反向代理,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
代理:通過客戶機的配置,實現讓一臺服務器(代理服務器)代理客戶機,客戶的所有請求都交給代理服務器處理。
反向代理:用一臺服務器,代理真實服務器,用戶訪問時,不再是訪問真實服務器,而是代理服務器。
nginx可以當做反向代理服務器來使用:
我們需要提前在nginx中配置好反向代理的規則,不同的請求,交給不同的真實服務器處理
當請求到達nginx,nginx會根據已經定義的規則進行請求的轉發,從而實現路由功能
利用反向代理,就可以解決我們前面所說的端口問題,如圖:
安裝非常簡單,把課前資料提供的nginx直接解壓即可,綠色免安裝,舒服!
下載nginx:http://nginx.org/en/download.html
我們在本地安裝一臺nginx:
解壓后,目錄結構:
conf:配置目錄
contrib:第三方依賴
html:默認的靜態資源目錄,類似于tomcat的webapps
logs:日志目錄
nginx.exe:啟動程序。可雙擊運行,但不建議這么做。
示例:
nginx中的每個server就是一個反向代理配置,可以有多個server
完整配置:
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name manage.leyou.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://127.0.0.1:9001; proxy_connect_timeout 600; proxy_read_timeout 600; } } server { listen 80; server_name api.leyou.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://127.0.0.1:10010; proxy_connect_timeout 600; proxy_read_timeout 600; } } }
nginx可以通過命令行來啟動,操作命令:
啟動:start nginx.exe
停止:nginx.exe -s stop
重新加載:nginx.exe -s reload
啟動過程會閃爍一下,啟動成功后,任務管理器中會有兩個nginx進程:
啟動nginx,然后用域名訪問后臺管理系統: 現在實現了域名訪問網站了,中間的流程是怎樣的呢?
瀏覽器準備發起請求,訪問 http://mamage.leyou.com
,但需要進行域名解析
優先進行本地域名解析,因為我們修改了hosts,所以解析成功,得到地址:127.0.0.1
請求被發往解析得到的ip,并且默認使用80端口: http://127.0.0.1:80
本機的nginx一直監聽 80
端口,因此捕獲這個請求
nginx中配置了反向代理規則,將 manage.leyou.com
代理到 127.0.0.1:9001
,因此請求被轉發
后臺系統的webpack server監聽的端口是9001,得到請求并處理,完成后將響應返回到nginx
nginx將得到的結果返回到瀏覽器
上述內容就是使用nginx怎么實現反向代理,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。