Nginx反向代理入門實戰(zhàn)指南
概述
Nginx反向代理(Reverse Proxy):反向代理是指服務器根據客戶端的請求,從其關系的一組或多組后端服務器(如Web服務器)上獲取資源,然后再將這些資源返回給客戶端,客戶端只會得知反向代理的IP地址,而不知道在代理服務器后面的服務器簇的存在。
反向代理的作用
- 對客戶端隱藏服務器(集群)的IP地址
- 安全:作為應用層防火墻,為網站提供對基于Web的攻擊行為(例如DoS/DDoS的防護,更容易排查惡意軟件等
- 為后端服務器(集群)統(tǒng)一提供加密和SSL加速(如SSL終端代理)
- 負載均衡,若服務器集群中有負荷較高者,反向代理通過URL重寫,根據連線請求從負荷較低者獲取與所需相同的資源或備援
- 對于靜態(tài)內容及短時間內有大量訪問請求的動態(tài)內容提供緩存服務
- 對一些內容進行壓縮,以節(jié)約帶寬或為網絡帶寬不佳的網絡提供服務
- 減速上傳
- 提供HTTP訪問認證
實踐Nginx反向代理內網穿透8081端口
目的:隱藏8081端口,通過訪問80端口實現訪問8081端口
實現步驟
我們配置api 在8081端口,并且成功部署,此時8081對外開放,所以可訪問
以Ubuntu環(huán)境為例
$ cd /etc/nginx/ $ vim nginx.conf
Nginx http節(jié)點下 配置8081端口反向代理如下
server { listen 80 default_server; listen [::]:80 default_server; location /api/ { proxy_pass http://127.0.0.1:8081; } location /apidocs/ { proxy_pass http://localhost:8081/api/; index swagger-ui.html; error_page 404 http://localhost:8081/api/swagger-ui.html; } }
配置完成后重啟Nginx服務
$ service nginx restart
訪問http://ip/apidocs/swagger-ui.html 成功
我們可以關掉服務器安全組規(guī)則,去掉8081端口-安全組規(guī)則,可以登錄阿里云配置,以阿里云為例,其他同理
http://ip/apidocs/swagger-ui.html 依然可以訪問
http://ip:8081/api/swagger-ui.html 不可訪問
至此,我們實現了nginx反向代理8081端口,通過訪問80端口,代理到8081端口的目的
重點理解Ngnix location&proxy_pass字段規(guī)則
實現方式二配置upstream
在http節(jié)點下,加入upstream節(jié)點
upstream demo { server ip:8080; server ip:8081; }
將server節(jié)點下的location節(jié)點中的proxy_pass配置為:http:// + upstream名稱
location / { proxy_pass http://demo; }
Nginx配置https支持
## # add cnn SSL Settings ## server{ listen 443; server_name demo.com; ssl on; ssl_certificate /etc/nginx/cert/test.pem; ssl_certificate_key /etc/nginx/cert/test.key; ssl_session_timeout 5m; location / { #根域名或者ip proxy_pass http://demo.com; } }
總結
到此這篇關于Nginx反向代理入門實戰(zhàn)的文章就介紹到這了,更多相關Nginx反向代理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
借用nginx.vim工具進行語法高亮和格式化配置nginx.conf文件
今天小編就為大家分享一篇關于借用nginx.vim工具進行語法高亮和格式化配置nginx.conf文件,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02封80端口應對策略 Nginx反向代理For WIN2003超級傻瓜式配置
封80應對策略,Nginx反向代理ForWIN2003超級傻瓜式配置!2010-03-03