nginx的反向代理

nginx是很強大的一種反向代理服務器,本文是說nginx的反向代理。nginx

一、正向代理和反向代理:web

正向代理:客戶端向目標服務器沒法向某服務器發送請求,因而客戶端先將請求發送至第三方服務器(代理服務器),讓第三方服務器轉發至目標服務器,這樣目標服務器就不知道真正的客戶端是我,只會覺得代理服務器是客戶端,這樣是不安全的,由於真正的服務器是處於暴露狀況下的。vim

反向代理:客戶端向代理服務器發送請求,此服務器收到請求後,將請求轉發至真正的服務器,對於客戶端來講,它覺得真正的服務器就是代理服務器,這樣真正的服務器就是出於不暴露狀態,比較安全。瀏覽器

兩種代理的區別就是:tomcat

正向代理的話,客戶端知道真正的服務器地址,反而服務器不知道真正的客戶端地址安全

反向代理的話,客戶端不知道真正的服務器地址,只知道代理服務器的地址,服務器能夠經過代理服務器知道發送請求的客戶端是誰,前提是隻有一臺反向代理服務器,若是存在多臺反向代理服務器,服務器也不必定知道真正的客戶端是誰(須要一層一層向上追查IP)。服務器

 

二、Linux上配置nginx的反向代理:app

 (1)將nginx壓縮包上傳至Linux服務器上;ui

 (2)解壓 tar -zxvf  XXX代理

 (3)安裝nginx所須要的配置包和建立快捷方式:

  注意:先安裝nginx所須要的配置包,再建立快捷方式,若是先建立快捷方式,就會報錯:

  ./configure: error: the HTTP rewrite module requires the PCRE library.
  You can either disable the module by using --without-http_rewrite_module
  option, or install the PCRE library into the system, or build the PCRE library
  statically from the source with nginx by using --with-pcre=<path> option.              

   安裝所需配置包:

yum -y install gcc pcre-devel openssl openssl-devel

  建立快捷方式:

  在nginx的目錄下

  ./configure --prefix=/usr/locl/nginx-1.17.3

  看到如下信息說明建立成功:
  Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: "/usr/local/nginx-1.17.3"
  nginx binary file: "/usr/local/nginx-1.17.3/sbin/nginx"
  nginx modules path: "/usr/local/nginx-1.17.3/modules"
  nginx configuration prefix: "/usr/local/nginx-1.17.3/conf"
  nginx configuration file: "/usr/local/nginx-1.17.3/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx-1.17.3/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx-1.17.3/logs/error.log"
  nginx http access log file: "/usr/local/nginx-1.17.3/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

  (4)編譯nginx:

      在nginx的目錄:

      make && make install

      看到如下信息說明編譯成功:
      make[1]: Leaving directory `/home/apps/nginx-1.17.3'

  (5)啓動nginx:

      再也不nginx的解壓目錄操做了,

      能夠去快捷方式的目錄去執行了(/usr/locl/nginx-1.17.3)

    ./nginx(在sbin目錄下),如沒有報錯說明成功

  (6)使用瀏覽器進行檢測:

      URL輸入當前nginx服務器的IP,頁面會出現Welcome to nginx!

 

 

反向代理的配置:

    準備一臺web服務器  IP爲151

 一、到/usr/local/nginx-1.17.3的config中進行配置
  vim nginx.conf
注意:
  必需要在http{}標籤裏面實現全部的配置
  upstream tomcat_server(名字隨便起,開心就好){
  server 192.168.23.151:8080;(分號不要忘了!!!!)
}
  upstream必需要配置在server{}標籤的上面
  有加載順序:
  若是配置在了server的下面,最終由於加載順序緣故(自上而下的加載順序),server中加載不到upstream,則就會報錯!!!!
  配置server{}標籤中location /{}標籤
  把location /{}標籤中的全部內容所有刪除
  location / {
  proxy_pass http://tomcat_server;(upstream的名字,必需要保持一致,不然沒法找到映射)
  }
 2.從新nginx
  須要在sbin目錄
  ./nginx -s reload

三、在151服務器上配置相應的Tomcat

四、檢測nginx的反向代理是否成功

  在瀏覽器上訪問150的nginx服務器的8080端口,nginx會將請求發送至151的服務器上,訪問的是151的Tomcat

相關文章
相關標籤/搜索