激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - Nginx域名轉發使用場景代碼實例

Nginx域名轉發使用場景代碼實例

2020-09-18 23:09小豬夫 Nginx

這篇文章主要介紹了Nginx域名轉發使用場景代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

場景1:因服務器限制,所以只對外開放了一個端口,但是需要請求不同的外網環境,所以在中轉服務器上用nginx做了一次轉發

實現:

?
1
2
3
4
5
6
7
8
9
10
server {
 listen  8051;
 server_name localhost;
 
 location /license/ {
      proxy_pass http://xxx.xxx.xxx.xxx:8058/;
 }
 
 location / {
      proxy_pass http://xxx.xxx.xxx.xxx:8051/;  } }

特別注意:

  敲黑板:此處如果涉及到文件上傳的轉發,相應在server_name下添加client_max_body_size 100m;

  域名轉發的地址,proxy_pass后面必須跟"/",否則會造成轉發不正常

  在nginx中配置proxy_pass代理轉發時,如果在proxy_pass后面的url加/,表示絕對根路徑;
  如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走。

  假設下面四種情況分別用 http://192.168.1.1/proxy/aerchi.html 進行訪問。

  第一種:

    location /proxy/ {
     proxy_pass http://127.0.0.1/;
    } 

    代理到URL:http://127.0.0.1/aerchi.html

  第二種(相對于第一種,最后少一個 / )

    location /proxy/ {
     proxy_pass http://127.0.0.1;
    }

    代理到URL:http://127.0.0.1/proxy/aerchi.html

  第三種:

    location /proxy/ {
    proxy_pass http://127.0.0.1/aaa/;
    }

    代理到URL:http://127.0.0.1/aaa/aerchi.html

  第四種(相對于第三種,最后少一個 / )  

    location /proxy/ {
      proxy_pass http://127.0.0.1/aaa;
    }

    代理到URL:http://127.0.0.1/aaaaerchi.html

場景2:因業務需要,一套前段代碼需要映射到兩個后臺地址上,所以需要在接口上進行區分轉發,同時轉發時需要把區分標志去掉

實現:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
server {
  listen  0.0.0.0:8204;
  server_name localhost;
  # 靜態頁面目錄
  root   E:\xxxxxxx;
  # 默認首頁
  index   /index.html;
  proxy_set_header Host $http_host;      
  proxy_set_header X-Real-IP $remote_addr;      
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  #proxy_cookie_path /* /*;
  client_max_body_size  100m;
    
  location ~*/wx/(.*) {#根絕接口是否包含/wx/來區分
     # 動態頁面,交給tomcat處理
     if ( !-e $request_filename) {
        proxy_pass    http://127.0.0.1:8091/$1;#轉到后臺時需要把/wx去掉
     }
  }
  location / {
    # 用戶瀏覽器端的緩存設置
    location ~* \.(css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)$ {
      expires -1;
      if (-f $request_filename) {
        break;
      }
    }
    # 動態頁面,交給tomcat處理
    if ( !-e $request_filename) {
      proxy_pass    http://127.0.0.1:8092;
    #proxy_cookie_path /* /*;
    }
  }
 
  error_page  500 502 503 504 /50x.html;
  location = /50x.html {
    root  html;
  }
}

特別注意:

  1、 proxy_set_header Host $http_host;

  不改變請求頭 。

  2、proxy_set_header Host host;如果客戶端請求頭中沒有攜帶這個頭部,那么傳遞到后端服務器的請求也不含這個頭部。這種情況下,使用 host;如果客戶端請求頭中沒有攜帶這個頭部,那么傳遞到后端服務器的請求也不含這個頭部。 這種情況下,使用host;如果客戶端請求頭中沒有攜帶這個頭部,那么傳遞到后端服務器的請求也不含這個頭部。這種情況下,使用host變量它 的值在請求包含“Host”請求頭時為“Host”字段的值,在請求未攜帶“Host”請求頭時為虛擬主機的主域名;

  3、proxy_set_header Host host: host:host:proxy_port;

  服務器名可以和后端服務器的端口一起傳送:

  4、如果某個請求頭的值為空,那么這個請求頭將不會傳送給后端服務器:

  proxy_set_header Accept-Encoding “”;

  5、用戶真實的ip地址轉發給后端服務器

  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Real-IP $remote_addr;

場景3:前段代碼用vue實現,vue沒有具體的頁面,也是通過/xx/xx來訪問資源,這時候需要與后臺接口進行區分

實現:

  可以通過特殊字符類似“#”來區分,攜帶#的請求默認是靜態資源

?
1
2
3
4
5
6
location ~* \.(#|css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)$ {
  expires -1;
  if (-f $request_filename) {
    break;
  }
}

場景4:因服務器限制,數據庫訪問需要nginx進行轉發

實現:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
stream {
  upstream cloudsocket {
    hash $remote_addr consistent;
    server 數據庫實際ip:3306 weight=5 max_fails=3 fail_timeout=30s;
  }
 
 server {
    listen 127.0.0.1:8058; #本機代理端口
    proxy_connect_timeout 10s;
    proxy_timeout 300s;#設置客戶端和代理服務之間的超時時間,如果5分鐘內沒操作將自動斷開。
    proxy_pass cloudsocket;
  }
 
}

特別注意:

stream與http同級,所以不要放到http里

場景5:訪問某域名時需要重定向到另一個地址

實現:

?
1
2
3
4
5
6
7
8
9
server {
  listen 7000;
  server_name localhost;
  client_max_body_size 100m;
 
  location = / {
    rewrite ^(.*) https://www.baidu.com permanent;
  }
}

特別注意:

last        本條規則匹配完成后繼續向下匹配新的location URI規則
break        本條規則匹配完成后終止,不在匹配任何規則
redirect       返回302臨時重定向
permanent     返回301永久重定向

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/xiufengd/p/13162044.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产91精品一区二区麻豆亚洲 | 亚洲一级片在线观看 | 一本一本久久a久久精品综合小说 | 第一区免费在线观看 | 久久久国产精品免费观看 | 99精品国产一区二区三区 | 久久久入口 | 欧美成人午夜影院 | 国产视频在线观看一区二区三区 | 黄色片在线免费播放 | 国产一区二区在线免费播放 | 91午夜视频| 国产午夜精品视频免费不卡69堂 | 91免费大片| 久久久精品视 | 国产毛片在线看 | 91羞羞 | 新久草在线视频 | 91精品国产九九九久久久亚洲 | 午夜视频在线观 | 老a影视网站在线观看免费 欧美日韩成人一区二区 | 久久人人爽人人爽人人片av免费 | 日本精品视频一区二区三区四区 | h视频在线免费看 | 国产永久免费观看 | 日韩在线视频在线观看 | 久久综合九色综合久久久精品综合 | 国产一区日韩一区 | 黄色特级视频 | 91婷婷射| 国产日韩在线 | 中文字幕www. | 成人三级视频网站 | 国产亚洲精品视频中文字幕 | 99久久视频 | 一级毛片在线视频 | 黑色丝袜美美女被躁视频 | 综合精品在线 | 免费国产一级特黄久久 | 看毛片免费 | 亚洲成人高清在线观看 |