Nginx實現反向代理

2021-02-19 Linux學習的那些事兒
反向代理:在收到客戶端請求之後,會修目標IP位址和埠正向代理:在收到客戶端請求之後,會修源IP位址和埠上遊伺服器:代理伺服器後端的哪些真正給客戶端提供服務的節點,這樣的伺服器稱之為上遊伺服器模塊:nginx_http_proxy_moduleproxy_set_header:指定在重新封裝請求報文的時候,添加一個新的首部
getenforce       setenforce 0       開機不自啟的配置如下:執行:vi /etc/selinux/config將SELINUX=xxxx 修改為SELINUX=disabledsystemctl status firewalld       systemctl enable firewalld       

yum -y install nginx httpd php       

vim /etc/httpd/conf/httpd.conf#Listen 85       #默認80,這裡為了不和nginx衝突,需另起一個#

systemctl start httpd    systemctl enable httpd    netstat -anp|grep httpd    

vim /etc/nginx/nginx.conf刪除默認的80埠server          cd /etc/nginx/conf.dvim pass.conf        server {     listen      80;     location / {       proxy_pass   http://127.0.0.1:85;     }}

nginx –t       #必要步驟,錯誤檢驗,無問題可做下一步systemctl restart nginx       #重啟nginxsystemctl enable nginx       #設置nginx開機自啟動netstat -anp|grep nginx       #查看nginx埠是否存活firewall-cmd --add-port=80/tcp       #防火牆開放80埠firewall-cmd --add-port=80/tcp --permanent       #設置防火牆上開放的80埠永久生效

echo "" > /var/www/html/index.php              

mkdir /nginx       echo "奔跑的烏拉拉" > /nginx/index.html       

vim /etc/nginx/conf.d/pass.conf server { listen 80; location ~* \.php$ { proxy_pass http://127.0.0.1:85; } location / { root /nginx; }}

nginx –t       systemctl restart nginx       

IP/index.htmlIP/index.php

location /admin {            proxy_pass http://www.test.com/;            proxy_pass http://www.test.com;          }

請求的url 是http://www.test.com/admin/a.html如果代理方式是 proxy_pass http://www.test.com/; 那麼去www.test.com的根目錄下找a.html,/代表完全代理。如果代理方式是 proxy_pass http://www.test.com; 那麼去www.test.com的根目錄下的admin找a.html如果location中使用了模式匹配(正則),那麼,location中的url會直接補充到代理節點的後面.
location ~ \.php$ {            proxy_pass http://www.test.com; [正則表達式proxy_pass轉發的地址後面什麼都不能加]       <<< 正確寫法            proxy_pass http://www.test.com:80;     <<< 正確寫法            proxy_pass http://www.test.com/;       <<< 錯誤寫法            proxy_pass http://www.test.com/img;    <<< 錯誤寫法        }

    此時,如果請求的url是 http://www.baidu.com/book/stu/a.php ,就會代理成 http://www.test.com/book/stu/a.php在location中如果有重定向的話,那麼就用重定向後的uri替換掉代理節點中的uri  
location / {            rewrite /(.*)$ /index.php?name=$1 break;            proxy_pass http://www.baidu.com:80/img;        }

    此時,如果請求的url是 http://www.test.com/bajie ,就會代理成 www.baidu.com/index.php?name=bajie

相關焦點

  • Nginx 正向代理與反向代理
    而在此之前僅僅使用了過代理軟體,曾經為了訪問google,使用了代理軟體,需要在瀏覽器中配置代理的地址。我只知道有代理這個概念,並不清楚代理還有正向和反向之分,於是趕緊學習一下,補充一下知識。首先弄清楚什麼是正向代理,什麼是反向代理,然後是二者在實際使用中展示的方式是什麼樣的,最後總結一下正向代理用來做什麼,反向代理可以做什麼。
  • Nginx反向代理實踐
    ,從其關係的一組或多組後端伺服器(如Web伺服器)上獲取資源,然後再將這些資源返回給客戶端,客戶端只會得知反向代理的IP位址,而不知道在代理伺服器後面的伺服器簇的存在。反向代理的作用安全:作為應用層防火牆,為網站提供對基於Web的攻擊行為(例如DoS/DDoS的防護,更容易排查惡意軟體等為後端伺服器(集群)統一提供加密和SSL加速(如SSL終端代理)負載均衡,若伺服器集群中有負荷較高者,反向代理通過URL重寫,根據連線請求從負荷較低者獲取與所需相同的資源或備援對於靜態內容及短時間內有大量訪問請求的動態內容提供緩存服務對一些內容進行壓縮,以節約帶寬或為網絡帶寬不佳的網絡提供服務實踐
  • Nginx 反向代理與負載均衡
    什麼是反向代理當我們有一個伺服器集群,並且伺服器集群中的每臺伺服器的內容一樣的時候,同樣我們要直接從個人電腦訪問到伺服器集群伺服器的時候無法訪問,必須通過第三方伺服器才能訪問集群這個時候,我們通過第三方伺服器訪問伺服器集群的內容,但是我們並不知道是哪一臺伺服器提供的內容,此種代理方式稱為反向代理什麼是負載均衡公司會建立很多的伺服器
  • 配置Nginx反向代理WebSocket
    今天我們來講一下,如何用Nginx給WebSocket伺服器實現反向代理和負載均衡。什麼是反向代理和負載均衡反向代理(Reverse Proxy)方式是指以代理伺服器來接受Internet上的連接請求,然後將請求轉發給內部網絡上的伺服器。並將內部伺服器上得到的結果返回給Internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。
  • Nginx反向代理伺服器的配置(詳細)
    Nginx使用起來比較簡單,經過簡單的配置文件的修改,就可以將主機配置成一臺web伺服器、一臺反向代理伺服器或者是一臺郵件代理伺服器。在配置Nginx反向代理伺服器之前,還是先來說說什麼是反向代理伺服器吧。
  • Nginx反向代理伺服器
    Nginx (engine x) 是一個高性能的HTTP和反向代理web伺服器,其特點:1.穩定性極強2.Nginx提供了非常豐富的配置實例
  • Nginx 學習 —— 正向代理與反向代理
    1、正向代理和反向代理的概念無論是正向代理,還是反向代理,說到底,就是代理模式的衍生版本罷了。我們都學習過代理設計模式,都知道代理模式中有代理角色和被代理角色,為什麼這麼說,因為這兩個角色對於我們理解正向和反向代理非常重要,下面會講到。
  • Nginx的 反向代理 究竟怎麼理解?
    1.1反向代理正向代理正向代理:區域網中的電腦用戶想要直接訪問網絡是不可行的,只能通過代理伺服器來訪問,這種代理服務就被稱為正向代理。反向代理反向代理:客戶端無法感知代理,因為客戶端訪問網絡不需要配置,只要把請求發送到反向代理伺服器
  • 13.nginx高級配置--反向代理
    另外,我們也了解到了nginx,到目前為止我們還只是把它當作一個普通的 web 伺服器在使用。    現在我們需要在同一臺伺服器上搭建上述所有的服務,那該如何配置訪問呢?如果nginx只是一個普通的web伺服器的話也就不會如此之火了,關鍵是nginx這個「年輕」的「小夥」非常不講武德,這裡不得不提到 nginx 另外一個殺手級應用了--反向代理。
  • 深入淺出反向代理 Web 伺服器Nginx
    反向代理伺服器?經常聽人說到一些術語,如反向代理,那麼什麼是反向代理,什麼又是正向代理呢?正向代理:反向代理示意圖由於防火牆的原因,我們並不能直接訪問谷歌,那麼我們可以藉助VPN來實現,這就是一個簡單的正向代理的例子。
  • CentOS 配置 Nginx 反向代理
    導讀Nginx作為反向代理伺服器被廣泛使用在各大網際網路企業。它簡單易用,可以根據業務的需求將其不同的業務類型代理至不同的伺服器,將整個站點請求壓力按類型分攤到不同的伺服器。該方式使的整個站點請求性能得以極大的提升。本文簡要描述了Nginx幾種不同情形的代理演示,供大家參考。
  • Nginx 反向代理、負載均衡圖文教程 !
    當然很多都是隨便一說的玩笑話,聽過一笑便可,不必當真,也不必抱怨了好了,今天就直接來說一下主題吧,前端要了解一些運維的Nginx用法,內容不多,簡單看看就好,這兩個功能在工作當中就夠用了,那麼首先來看個問題,什麼是反向代理與負載均衡什麼是反向代理與負載均衡什麼是反向代理當我們有一個伺服器集群,並且伺服器集群中的每臺伺服器的內容一樣的時候,同樣我們要直接從個人電腦訪問到伺服器集群伺服器的時候無法訪問
  • Nginx配置反向代理,一篇搞定!
    一、引言其他話不多說,下面來學習一下 Nginx 的反向代理。需要有 Linux 和 Nginx 環境。二、何為反向代理?在介紹反向代理之前,先來了解一下正向代理。其實客戶端對代理是無感知的,因為客戶端不需要任何配置就可以訪問,我們只需要將請求發送到反向代理伺服器,由反向代理伺服器去選擇目標伺服器獲取數據後,在返回給客戶端,此時反向代理伺服器和目標伺服器對外就是一個伺服器,暴露的是代理伺服器地址,隱藏了真實伺服器 IP 地址。
  • Nginx 反向代理簡單使用
    安裝nginx第一步 下載 nginx第三步 配置nginx信息cd nginx-1.19.0./configure --prefix=/usr/local/nginx/sbin/nginx -?./sbin/nginx./sbin/nginx -c /tmp/nginx.conf./sbin/nginx -p /usr/local/nginx/./sbin/nginx -s stop./sbin/nginx -s quit./sbin/nginx -s reload./sbin/nginx -s reopen.
  • 圖文講解,如何使用 Nginx 反向代理、負載均衡
    來源:http://t.cn/AiKual8Y學到老活到老什麼是反向代理與負載均衡Nginx反向代理與負載均衡的實現nginx配置proxy_passUpstream模塊實現負載均衡工作中的簡單使用學到老活到老前端圈一直很新
  • 反向代理伺服器nginx-proxy-manager
    一直以來,老蘇都是使用群暉內置的反向代理,雖然很方便易用,但在某些情況下顯得並不靈活。比如老蘇打算安裝 Authelia,需要修改 nginx 轉發規則,必須通過 SSH 登錄後找到相應的文件修改,這一點上不如 nginx-proxy-manager,當你習慣後,你會發現 npm 的優點遠不止這點。
  • Nginx(五):http反向代理的實現
    ,header解析,body解析,然後遍歷各種checker,以及詳細講解了其正向代理的具體實現過程。這已經讓我們對整個nginx有了較深入的了解,但nginx核心固然重要,但其擴展功能才是其吸引大家的地方。而它的擴展功能又是無窮無盡的,這是好事又是壞事,好事是功能特別多,壞事是我們不可能都能探究其每個模塊。個人覺得,nginx至少有兩大必備的功能:http伺服器(正向代理),http反向代理(服務轉發);所以,既然前面我們弄清了其正向代理的實現,接下就是搬另一座大山的時刻了。
  • 深入淺出反向代理伺服器「Nginx」
    Nginx ("engine x") 是一個高性能的HTTP和反向代理伺服器,特點是佔有內存少,並發能力強,事實上nginx的 並發能力確實在同類型的網頁伺服器中表現較好,中國 大陸使用nginx網站用戶有:百度、京東、新浪、網易、 騰訊、淘寶等。
  • 誰說前端不需要懂-Nginx反向代理與負載均衡
    今天就直接來說一下主題吧,前端要了解一些運維的Nginx用法,內容不多,簡單看看就好,這兩個功能在工作當中就夠用了,那麼首先來看個問題,什麼是反向代理與負載均衡什麼是反向代理與負載均衡什麼是反向代理當我們有一個伺服器集群,並且伺服器集群中的每臺伺服器的內容一樣的時候,同樣我們要直接從個人電腦訪問到伺服器集群伺服器的時候無法訪問
  • 編譯安裝nginx並實現反向代理負載均衡和緩存功能
    ngx_http_ssl_module #啟用ssl模塊 --with-http_v2_module enable ngx_http_v2_module #源自spdy協議,優先請求瀏覽器最繼續的內容 --with-http_realip_module enable ngx_http_realip_module #反向代理時把真實訪問