導航:首頁 > 免費軟體 > 免費反向代理軟體

免費反向代理軟體

發布時間:2023-01-24 21:43:50

Ⅰ 集群和負載均衡的區別 nginx

Nginx是一個免費的,開源的,高性能的伺服器和反向代理伺服器軟體,同時它也可以為IMAP和POP3伺服器代理,以其高性能,穩定性,豐富的功能,結構簡單,低資源消耗的特性換來廣大運維者所喜愛。
Nginx與傳統的伺服器不同,不依賴線程來處理請求。相反,它使用一個更可擴展事件驅動架構(非同步)。這種結構資源消耗較小,但更重要的是,可以承受較大的請求負荷。即使你不希望處理成千上萬的請求,你仍然可以受益於Nginx的高性能和小的內存佔用,以及其豐富的功能。

Nginx的反向代理:
反向代理指以代理伺服器來接受Internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給Internet上請求連接到客戶端,此時代理伺服器對外就表現為一個伺服器,而此種工作模式類似於LVS-NET模型。
反向代理也可以理解為web伺服器加速,它是一種通過在繁忙的web伺服器和外部網路之間增加的 一個高速web緩沖伺服器,用來降低實際的web伺服器的負載的一種技術。反向代理是針對web伺服器提高加速功能,所有外部網路要訪問伺服器時的所有請求都要通過它,這樣反向代理伺服器負責接收客戶端的請求,然後到源伺服器上獲取內容,把內容返回給用戶,並把內容保存在本地,以便日後再收到同樣的信息請求時,它會將本地緩存里的內容直接發給用戶,已減少後端web伺服器的壓力,提高響應速度。因此Nginx還具有緩存功能。

反向代理的工作流程:
1)用戶通過域名發出訪問請求,該域名被解析為反向代理伺服器的IP地址;
2)反向代理伺服器接收用戶的請求;
3)反向代理伺服器在本地緩存查找是否存在當前用戶所請求的內容,找到則直接把內容返回給用戶;
4)如果本地沒有用戶請求的內容,反向代理伺服器會以自己的身份去後端伺服器請求同樣的信息內容,並把信息內容發給用戶,如果信息內容是可以被緩存的,則會將該內容緩存在代理伺服器的本地緩存中。

反向代理的好處:
1)解決了網站伺服器對外可見的問題,提高了網站伺服器的安全性;
2)節約了有限的IP地址資源,後端伺服器均可使用私有IP地址與代理伺服器進行通信;
3)加速了網站的訪問速度,減輕了真是web伺服器的負荷。

(一)、調度演算法
Nginx的upstream指令用於指定proxy_pass和fastcgi_pass所使用的後端伺服器,即nginx的反向代理功能,因此可以將兩者結合起來使用以達到負載均衡的目的,而Nginx也支持多種調度演算法:
1、輪詢(默認)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,則會跳過該伺服器分配至下一個監控的伺服器。並且它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。
2、weight
指定在輪詢的基礎上加上權重,weight和訪問比率成正比,即用於表明後端伺服器的性能好壞,若後端伺服器性能較好則可將大部分請求分配給它,已實現其力所能及。
例如:
我後端伺服器172.23.136.148配置:E5520*2 CPU,8G內存
後端伺服器172.23.136.148配置:Xeon(TM)2.80GHz * 2,4G內存
我希望在有30個請求到達前端時,其中20個請求交給172.23.136.148處理,剩餘10個請求交給172.23.136.149處理,就可做如下配置
upstream web_poll {
server 172.23.136.148 weight=10;
server 172.23.136.149 weight=5;
}
3、ip_hash
每個請求按訪問ip的hash結果分配,當新的請求到達時,先將其客戶端IP通過哈希演算法進行哈希出一個值,在隨後的請求客戶端IP的哈希值只要相同,就會被分配至同一個後端伺服器,該調度演算法可以解決session的問題,但有時會導致分配不均即無法保證負載均衡。
例如:
upstream web_pool {
ip_hash;
server 172.23.136.148:80;
server 172.23.136.149:80;
}
4、fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
upstream web_pool {
server 172.23.136.148;
server 172.23.136.149;
fair;
}
5、url_hash(第三方)
按訪問url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為緩存時比較有效。
例:在upstream中加入hash語句,server語句中不能寫入weight等其他的參數,hash_method是使用的hash演算法
upstream web_pool {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

每個設備的狀態設置為:
1.down 表示當前的server不參與負載,用於ip_hash中
2.weight 默認為1.weight越大,負載的權重就越大。
3.max_fails 允許請求失敗的次數默認為1.設為0則表示關閉該項功能,當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤
4.fail_timeout 在max_fails定義的失敗次數後,暫停的時間。
5.backup 可以將其理解為備機,其它所有的非backup機器down或者忙的時候,才會將請求分配給backup機器。所以這台機器壓力會最輕。

nginx支持同時設置多組的負載均衡,用來給不用的server來使用。

(二)、指令的使用
1、upstream
聲明一組可以被proxy_pass和fastcgi_pass引用的伺服器;這些伺服器可以使用不同的埠,並且也可以使用Unix Socket;也可以為伺服器指定不同的權重。如:
upstream web_pool {
server coolinuz.9966.org weight=5;
server 172.23.136.148:8080 max_fails=3 fail_timeout=30s;
server unix:/tmp/backend3;
}
2、server
語法:server name [parameters]
其中的name可以是FQDN,主機地址,埠或unix套接字;如果FQDN解析的結果為多個地址,則每個地址都會被用到。
3、proxy_pass
語法:proxy_pass URL;
該指令用於指定代理伺服器的地址和URL將被映射為的URL或地址和埠。即用來指定後端伺服器的地址或URL[埠]。
4、proxy_set_header
語法:proxy_set_header header value;
該指令允許重新定義和添加一些將被轉移到被代理伺服器的請求頭部信息。
例如:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
注意:$proxy_add_x_forwarded_for包含客戶端請求頭中的"X-Forwarded-For",與$remote_addr用逗號分開,如果沒有"X-Forwarded-For" 請求頭,則$proxy_add_x_forwarded_for等於$remote_addr

順便補上Nginx的內置變數:

$args, 請求中的參數;
$is_args, 如果已經設置$args,則該變數的值為「?」,否則為「」。
$content_length, HTTP請求信息頭里的"Content-Length";
$content_type, 請求信息頭里的"Content-Type";
$document_root, 針對當前請求所屬的root指令設置的根目錄路徑;
$document_uri, 與$uri相同;
$host, 請求信息中的"Host",如果請求中沒有Host行,則等於設置的伺服器名;
$limit_rate, 對連接速率的限制;
$request_method, 請求的方法,比如"GET"、"POST"等;
$remote_addr, 客戶端地址;
$remote_port, 客戶端埠號;
$remote_user, 客戶端用戶名,認證用;
$request_filename, 當前請求的文件路徑名
$request_body_file, 客戶端請求主體的臨時文件名。
$request_uri, 請求的URI,帶參數;
$query_string, 與$args相同;
$scheme, 所用的協議,比如http或者是https,比如rewrite ^(.+)$ $scheme://example.com$1 redirect;
$server_protocol, 請求的協議版本,"HTTP/1.0"或"HTTP/1.1";
$server_addr, 伺服器地址,如果沒有用listen指明伺服器地址,使用這個變數將發起一次系統調用以取得地址(造成資源浪費);
$server_name, 請求到達的伺服器名;
$server_port, 請求到達的伺服器埠號;
$uri, 請求的URI,可能和最初的值有不同,比如經過重定向之類的。

5、proxy_read_timeout
語法:proxy_read_timeout time;
這個指令設置Nginx與後端伺服器建立連接後。等待後端伺服器的響應時間
6、proxy_send_timeout
語法:roxy_send_timeout time;
該指令指定請求轉移到後端伺服器的超時時間。整個傳輸的要求時間不超過超時時間,但只有兩次寫操作之間。如果在此時間之後的後端伺服器將不採取新的數據,然後nginx將關閉連接。
7、proxy_connect_timeout
語法:proxy_connect_timeout time;
該指令用來設置分配到後端伺服器的連接超時時間。
8、proxy_buffers
語法: proxy_buffers the_number is_size;
該指令設置緩沖區的數目和大小,預設情況下,一個緩沖區的大小和頁面大小相同。
9、proxy_buffer_size
語法:proxy_buffer_size buffer_size;
代理緩沖區,該指令用於保存用用戶的頭部信息。
10、proxy_busy_buffers_size
語法:proxy_busy_buffers_size size;
用於當系統負載較大,緩沖區不夠用時,可以申請更大的proxy_buffers
11、proxy_temp_file_write_size
語法:proxy_temp_file_write_size size;
用於指定緩存臨時文件的大小

(三)、功能完善
安裝配置第三方模塊,實現upstream中對後端web server的健康狀態檢測:
模塊下載地址:https://github.com/cep21/healthcheck_nginx_upstreams;模塊名稱:ngx_http_healthcheck_mole
安裝配置方法:
1、首先解壓healcheck模塊到某路徑下,這里假設為/tmp/healthcheck_nginx_upstreams
#tar -xvf cep21-healthcheck_nginx_upstreams-16d6ae7.tar.gz -C /tmp/healthcheck_nginx_upstreams
2、對nginx打補丁
首先解壓nginx,並進入nginx源碼目錄:
# tar xf nginx-1.3.4.tar.gz
# cd nginx-1.0.11
# patch -p1 < /tmp/healthcheck_nginx_upstreams/nginx.patch
而後編譯nginx,在執行configure時添加類似下面的選項:
--add-mole=/tmp/healthcheck_nginx_upstreams
所以,這里就使用如下命令:

# ./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_mole \
--with-http_flv_mole \
--with-http_stub_status_mole \
--with-http_gzip_static_mole \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--with-pcre \
--add-mole=/tmp/healthcheck_nginx_upstreams
# make && make install

ngx_http_healthcheck_mole模塊的使用方法:
1、此模塊支持的指令有:
healthcheck_enabled
##啟用此模塊
healthcheck_delay
##對同一台後端伺服器兩次檢測之間的時間間隔,單位毫秒,默認為1000;
healthcheck_timeout
##進行一次健康檢測的超時時間,單位為毫秒,默認值2000;
healthcheck_failcount
##對一台後端伺服器檢測成功或失敗多少次之後方才確定其為成功或失敗,並實現啟用或禁用此伺服器;
healthcheck_send
##為了檢測後端伺服器的健康狀態所發送的檢測請求;如:healthcheck_send "GET /health HTTP/1.0" 'Host: coolinuz.9966.org';
healthcheck_expected
##期望從後端伺服器收到的響應內容;如果未設置,則表示從後端伺服器收到200狀態碼即為正確;
healthcheck_buffer
##健康狀態檢查所使用的buffer空間大小;

healthcheck_status
通過類似stub_status的方式輸出檢測信息,使用方法如下:
location /stat {
healthcheck_status;
}

(四)、配置與實現
配置代碼如下:

http {

upstream web_pool {
server 172.23.136.148:80 weight=10;
server 172.23.136.149:80 weight=5;
healthcheck_enabled;
healthcheck_delay 1000;
healthcheck_timeout 1000;
healthcheck_failcount 2;
healthcheck_send "GET /.health HTTP/1.0";
}
server {
listen 80;
location / {
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_pass http://web_pool;
proxy_connect_timeout 3;
}
location /stat {
healthcheck_status;
}
}

}
在這里設置「proxy_set_header」參數,是因為Nginx在做反向代理的時候,要代替客戶端去訪問伺服器,所以,當請求包經過反向代理後,在代理伺服器這里這個IP數據包的IP包頭做了修改,最終後端web伺服器得到的數據包的頭部的源IP地址是代理伺服器的IP地址,這樣一來,後端伺服器的程序給予IP的統計功能就沒有任何意義,或者後端web伺服器上有多個基於域名的虛擬主機時,就要通過添加Header頭信息Host,用於指定請求的域名,這樣後端web伺服器才能識別該反向代理訪問請求由哪個虛擬主機來處理。

(五)、小結
通過以上我們可以看出Nginx的配置其實是比較其他的web伺服器軟體是比較簡單的,但是其實現的功能確實相當強大豐富的。通過Nginx的反向代理已經支持靈活的正則表達式匹配,可以實現網站的動、靜分離,讓動態的php等程序網頁去訪問php web伺服器,讓緩存頁、圖片、javascript、css、flash去訪問Squid等緩存伺服器或文件伺服器。加之Nginx對靜態內容的高性能,高並發量,Nginx作為前端代理負載均衡成為越來越多架構師的首先方案。

Ⅱ web伺服器 Nginx

(1)概念

Web伺服器是一台使用HTTP協議與客戶機瀏覽器進行信息交流(因此又稱為HTTP伺服器)、為互聯網客戶提供服務(信息瀏覽,下載資源等)的主機。發展趨勢:從HTML到XML、從有線到無線、從無聲到有聲

1.Linux是架設安全高效Web伺服器的操作系統

架設Web伺服器常見的操作系統:Windows、Linux、Unix。Linux安全性能最高,可以支持多個硬體平台,可以根據不同需求隨意修改、調整與復制各種程序的源碼以及發布在互聯網上,網路功能比較強大。

2.目前主流伺服器:Apache、 Nginx、 IIS

Unix/Linux操作系統下使用最廣泛的免費HTTP伺服器:Apache、Nginx。Windows(NT/2000/2003)操作系統使用ⅡS,綜合使用最多的Web伺服器是 IIs、Apache。

選擇WEB伺服器應考慮的本身特性因素有:性能、安全性、日誌和統計、虛擬主機、代理伺服器、緩沖服務和集成應用程序等。下面介紹目前最主流的三大web伺服器:

① 大型

IIS:

微軟的Internet Information Services (IIS),IIS 允許在互聯網上發布信息,提供了一個圖形界面的管理工具,稱為Internet服務管理器,可用於監視配置和控制Internet服務。IIS是一種Web服務組件,其中包括Web伺服器(網頁瀏覽)、FTP伺服器(文件傳輸)、NNTP伺服器(新聞服務)和SMTP伺服器(郵件傳輸),使得在網路上發布信息很容易。它提供ISAPI(Intranet Server API)作為擴展Web伺服器功能的編程介面,它還提供一個Internet資料庫連接器,可以實現對資料庫的查詢和更新。

Apache:

Apache是世界上用的最多的Web伺服器,源於NCSAhttpd伺服器的補丁(pache 補丁)。它的成功之處主要在於:源代碼開放、有開放的開發隊伍、支持跨平台的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平台上)、可移植性。

② 小型

nginx:

nginx的模塊都是靜態編譯的,對fcgi的支持非常好,在處理鏈接的的方式上nginx支持epoll,支持通用語言介面(如:php、python、perl等),支持正向和反向代理、虛擬主機、url重寫、壓縮傳輸等。

(2)工作原理

當客戶端Web瀏覽器連到伺服器上並請求文件時,伺服器將處理該請求並將文件反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。Web伺服器主要是處理向瀏覽器發送HTML以供瀏覽,而應用程序伺服器提供訪問商業邏輯的途徑以供客戶端應用程序使用。應用程序伺服器可以管理自己的資源,例如看大門的工作(gate-keeping ties)包括安全(security),事務處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web伺服器一樣,應用程序伺服器配置了多種可擴展(scalability)和容錯(fault tolerance)技術。Web伺服器的工作原理一般可分成如下4個步驟:

① 連接過程:是Web伺服器和其瀏覽器之間所建立起來的一種連接。查看連接過程是否實現,用戶可以找到和打開socket這個虛擬文件,這個文件的建立意味著連接過程這一步驟已經成功建立。

② 請求過程:是Web的瀏覽器運用socket這個文件向其伺服器而提出各種請求。

③ 應答過程:是運用HTTP協議把在請求過程中所提出來的請求傳輸到Web的伺服器,進而實施任務處理,然後運用HTTP協議把任務處理的結果傳輸到Web的瀏覽器,同時在Web的瀏覽器上面展示上述所請求之界面。

④ 關閉連接:是當上一個步驟--應答過程完成以後,Web伺服器和其瀏覽器之間斷開連接之過程。Web伺服器上述4個步驟環環相扣、緊密相聯,邏輯性比較強,可以支持多個進程、多個線程以及多個進程與多個線程相混合的技術。

Web伺服器可以解析HTTP協議。當Web伺服器接收到一個HTTP請求(request),會返回一個HTTP響應(response)。為了處理一個request,Web伺服器可以response一個靜態頁面(HTML頁面)或圖片,進行頁面跳轉(redirect),或把動態響應委託給伺服器端。Web伺服器的代理模型非常簡單。當一個request被送到Web伺服器里來時,它只單純的把request傳遞給可以很好的處理request的程序(伺服器端腳本,如:CGI腳本,JSP腳本,servlets,ASP腳本,伺服器端JavaScript等)。Web伺服器僅僅提供一個可以執行伺服器端程序和返回(程序所產生的)響應的環境,而不會超出職能范圍。伺服器端程序功能通常有:事務處理、資料庫連接、和消息等。雖然Web伺服器不支持事務處理或資料庫連接池,但它可以配置各種策略來實現容錯性、可擴展性(如:負載平衡、緩沖)。集群特徵經常被誤認為僅僅是應用程序伺服器專有的特徵。

(3)配置

如何設置默認文檔;在同一台伺服器上架設多個Web站點;(可以通過改變埠號)創建Web虛擬目錄;

1、了解DNS主機名和IP地址。

如果此WEB伺服器在Internet上,需向ISP申請和注冊此伺服器的DNS主機名和IP地址。如果此伺服器只在企業網內使用,則在內部的DNS伺服器上注冊。

2、打開伺服器文檔,選擇"埠"-"Internet埠",啟用"TCP/ IP埠"。

3、選擇"Internet協議",完成以下選項後,保存文檔。

① 綁定主機名:

A、選擇"是"則您可在"主機名"項中輸入主機別名,WEB用戶可用此別名替代Domino伺服器名訪問WEB伺服器。

B、選擇"否"(預設)則不允許使用別名。

② DNS查詢: 選擇"是"則Domino伺服器查詢發送請求的WEB客戶機的DNS名。

③ Domino日誌文件和資料庫將包含WEB客戶機的DNS主機名: 選擇"否"(預設)則不查詢,Domino日誌文件和資料庫將只包含WEB客戶機的IP地址( 注意:選擇"否"將提高Domino伺服器性能,因為伺服器不使用資源執行DNS查詢

④ "允許HTTP客戶瀏覽資料庫":選擇"是"則允許WEB用戶在URL中使用OpenServer命令來顯示伺服器上資料庫列表。選擇"否"(預設)則不允許。但即使WEB用戶不能看到伺服器上資料庫列表,他們仍能打開有許可權訪問的單個資料庫。

4、啟動HTTP任務。在伺服器控制台上,輸入:loap http

小型項目

(1)概念

1、Nginx(俄羅斯程序設計師Igor Sysoev用C語言進行編寫)是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3/SMTP)代理伺服器。

2、特點:佔有內存少(在高連接並發的情況下,Nginx是Apache伺服器不錯的替代品,能夠支持高達 50,000 個並發連接數的響應),並發能力強。

3、中國大陸使用nginx網站用戶有:網路、京東、新浪、網易、騰訊、淘寶等。

4、Nginx代碼完全用C語言從頭寫成,已經移植到許多體系結構和操作系統,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。

5、Nginx有自己的函數庫,並且除了zlib、PCRE和OpenSSL之外,標准模塊只使用系統C庫函數。而且,如果不需要或者考慮到潛在的授權沖突,可以不使用這些第三方庫。

(2)安裝

官網:http://nginx.org/

選擇要安裝的版本:

(3)使用

打開conf/nginx.conf,修改埠號,和主頁根地址為:打包後index.html的目錄

模擬域名配置(本地域名設置):

在瀏覽器地址欄輸入配置好的「域名:埠號」回車:

Ⅲ 請教問題nginx反向代理proxy

一、反向代理:Web伺服器的「經紀人」
1.1 反向代理初印象
反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。
Nginx搭建反向代理伺服器過程詳解
從上圖可以看出:反向代理伺服器位於網站機房,代理網站Web伺服器接收Http請求,對請求進行轉發。
1.2 反向代理的作用
①保護網站安全:任何來自Internet的請求都必須先經過代理伺服器;
Nginx搭建反向代理伺服器過程詳解
②通過配置緩存功能加速Web請求:可以緩存真實Web伺服器上的某些靜態資源,減輕真實Web伺服器的負載壓力;
Nginx搭建反向代理伺服器過程詳解
③實現負載均衡:充當負載均衡伺服器均衡地分發請求,平衡集群中各個伺服器的負載壓力;
Nginx搭建反向代理伺服器過程詳解
二、初識Nginx:簡單卻不平凡
2.1 Nginx是神馬?
Nginx搭建反向代理伺服器過程詳解
Nginx是一款輕量級的網頁伺服器、反向代理器以及電子郵件代理伺服器。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。
Source:Nginx(發音同engine x),它是由俄羅斯程序員Igor Sysoev所開發的。起初是供俄國大型的門戶網站及搜索引擎Rambler(俄語:Рамблер)使用。此軟體BSD-like協議下發行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系統中運行。
說到Web伺服器,Apache伺服器和IIS伺服器是兩大巨頭;但是運行速度更快、更靈活的對手:Nginx 正在迎頭趕上。
2.2 Nginx的應用現狀
Nginx 已經在俄羅斯最大的門戶網站── Rambler Media(www.rambler.ru)上運行了3年時間,同時俄羅斯超過20%的虛擬主機平台採用Nginx作為反向代理伺服器。
Nginx搭建反向代理伺服器過程詳解Nginx搭建反向代理伺服器過程詳解Nginx搭建反向代理伺服器過程詳解Nginx搭建反向代理伺服器過程詳解Nginx搭建反向代理伺服器過程詳解
在國內,已經有 淘寶、新浪博客、新浪播客、網易新聞、六間房、56.com、Discuz!、水木社區、豆瓣、YUPOO、海內、迅雷在線 等多家網站使用 Nginx 作為Web伺服器或反向代理伺服器。
2.3 Nginx的核心特點
(1)跨平台:Nginx 可以在大多數 Unix like OS編譯運行,而且也有Windows的移植版本;
(2)配置異常簡單:非常容易上手。配置風格跟程序開發一樣,神一般的配置;
(3)非阻塞、高並發連接:數據復制時,磁碟I/O的第一階段是非阻塞的。官方測試能夠支撐5萬並發連接,在實際生產環境中跑到2~3萬並發連接數。(這得益於Nginx使用了最新的epoll模型);
PS:對於一個Web伺服器來說,首先看一個請求的基本過程:建立連接—接收數據—發送數據,在系統底層看來 :上述過程(建立連接—接收數據—發送數據)在系統底層就是讀寫事件。
①如果採用阻塞調用的方式,當讀寫事件沒有準備好時,必然不能夠進行讀寫事件,那麼久只好等待,等事件准備好了,才能進行讀寫事件,那麼請求就會被耽擱 。
②既然沒有準備好阻塞調用不行,那麼採用非阻塞調用方式。非阻塞就是:事件馬上返回,告訴你事件還沒准備好呢,你慌什麼,過會再來吧。好吧,你過一會,再來檢查一下事件,直到事件准備好了為止,在這期間,你就可以先去做其它事情,然後再來看看事件好了沒。雖然不阻塞了,但你得不時地過來檢查一下事件的狀態,你可以做更多的事情了,但帶來的開銷也是不小的。
(4)事件驅動:通信機制採用epoll模型,支持更大的並發連接。
①非阻塞通過不斷檢查事件的狀態來判斷是否進行讀寫操作,這樣帶來的開銷很大,因此就有了非同步非阻塞的事件處理機制。這種機制讓你可以同時監控多個事件,調用他們是阻塞的,但可以設置超時時間,在超時時間之內,如果有事件准備好了,就返回。這種機制解決了上面阻塞調用與非阻塞調用的兩個問題。
②以epoll模型為例:當事件沒有準備好時,就放入epoll(隊列)裡面。如果有事件准備好了,那麼就去處 理;如果事件返回的是EAGAIN,那麼繼續將其放入epoll裡面。從而,只要有事件准備好了,我們就去處理它,只有當所有事件都沒有準備好時,才在 epoll裡面等著。這樣,我們就可以並發處理大量的並發了,當然,這里的並發請求,是指未處理完的請求,線程只有一個,所以同時能處理的請求當然只有一 個了,只是在請求間進行不斷地切換而已,切換也是因為非同步事件未准備好,而主動讓出的。這里的切換是沒有任何代價,你可以理解為循環處理多個准備好的事 件,事實上就是這樣的。
③與多線程方式相比,這種事件處理方式是有很大的優勢的,不需要創建線程,每個請求佔用的內存也很少,沒有上下文切換, 事件處理非常的輕量級,並發數再多也不會導致無謂的資源浪費(上下文切換)。對於IIS伺服器,每個請求會獨佔一個工作線程,當並發數上到幾千時,就同時 有幾千的線程在處理請求了。這對操作系統來說,是個不小的挑戰:因為線程帶來的內存佔用非常大,線程的上下文切換帶來的cpu開銷很大,自然性能就上不 去,從而導致在高並發場景下性能下降嚴重。
總結:通過非同步非阻塞的事件處理機制,Nginx實現由進程循環處理多個准備好的事件,從而實現高並發和輕量級。
(5)Master/Worker結構:一個master進程,生成一個或多個worker進程。
Nginx搭建反向代理伺服器過程詳解
PS:Master-Worker設計模式核心思想是將原來串列的邏輯並行化, 並將邏輯拆分成很多獨立模塊並行執行。其中主要包含兩個主要組件Master和Worker,Master主要將邏輯進行拆分,拆分為互相獨立的部分,同 時維護了Worker隊列,將每個獨立部分下發到多個Worker並行執行,Worker主要進行實際邏輯計算,並將結果返回給Master。
問:nginx採用這種進程模型有什麼好處?
答:採用獨立的進程,可以讓互相之間不會影響,一個進程退出後,其它進程還在工作,服務不會中斷,Master 進程則很快重新啟動新的Worker進程。當然,Worker進程的異常退出,肯定是程序有bug了,異常退出,會導致當前Worker上的所有請求失 敗,不過不會影響到所有請求,所以降低了風險。
(6)內存消耗小:處理大並發的請求內存消耗非常小。在3萬並發連接下,開啟的10個Nginx 進程才消耗150M內存(15M*10=150M)。
(7)內置的健康檢查功能:如果 Nginx 代理的後端的某台 Web 伺服器宕機了,不會影響前端訪問。
(8)節省帶寬:支持 GZIP 壓縮,可以添加瀏覽器本地緩存的 Header 頭。
(9)穩定性高:用於反向代理,宕機的概率微乎其微。
三、構建實戰:Nginx+IIS構築Web伺服器集群的負載均衡
這里我們主要在Windows環境下,通過將同一個Web網站部署到不同伺服器的IIS上,再通過一個統一的Nginx反響代理伺服器對外提供統一訪問接入,實現一個最簡化的反向代理和負載均衡服務。但是,受限於實驗條件, 我們這里主要在一台計算機上進行反向代理、IIS集群的模擬,具體的實驗環境如下圖所示:我們將nginx服務和web網站都部署在一台計算機 上,nginx監聽http80埠,而web網站分別以不同的埠號(這里是8050及8060)部署在同一個IIS伺服器上,用戶訪問 localhost時,nginx作為反向代理將請求均衡地轉發給兩個IIS中不同埠的Web應用程序進行處理。雖然實驗環境很簡單而且有限,但是對於 一個簡單的負載均衡效果而言,本文是可以達到並且展示的。
Nginx搭建反向代理伺服器過程詳解
3.1 准備一個ASP.NET網站部署到IIS伺服器集群中
(1)在VS中新建一個ASP.NET Web應用程序,但是為了在一台計算機上展示效果,我們將這個Web程序復制一份,並修改兩個Web程序的Default.aspx,讓其的首頁顯示不同 的一點信息。這里Web1展示的是「The First Web:」,而Web2展示的則是「The Second Web」。
Nginx搭建反向代理伺服器過程詳解
(2)調試運行,看看兩個網站的效果如何?
①Web1的展示效果:
Nginx搭建反向代理伺服器過程詳解
②Web2的展示效果:
Nginx搭建反向代理伺服器過程詳解
③部署到IIS中,分配不同的埠號:這里我選擇了Web1:8050,Web2:8060
Nginx搭建反向代理伺服器過程詳解
(3)總結:在真實環境中,構建Web應用伺服器集群的實現是將同一個Web應用程序部署到Web伺服器集群中的多個Web伺服器上。
3.2 下載Nginx並部署到伺服器中作為自啟動的Windows服務
(1)到Nginx官網下載Nginx的Windows版本:http://nginx.org/en/download.html(這里我們使用nginx/Windows-1.4.7版本進行實驗,本文底部有下載地址)
(2)解壓到磁碟任意目錄,例如這里我解壓到了:D:\Servers\nginx-1.4.7
(3)啟動、停止和重新載入服務:通過cmd以守護進程方式啟動nginx.exe:start nginx.exe,停止服務:nginx -s stop,重新載入配置:nginx -s reload;
Nginx搭建反向代理伺服器過程詳解
(4)每次以cmd方式啟動Nginx服務不符合實際要求,於是我們想到將其注冊為Windows服務,並設置為自動啟動模式。這里,我們使用一個 不錯的小程序:「Windows Service Wrapper」,將nginx.exe注冊為Windows服務,具體的步湊如下:
①下載最新版的 Windows Service Wrapper 程序,比如我下載的名稱是 「winsw-1.8-bin.exe」(本文底部有下載地址),然後把它命名成你想要的名字(比如: 「nginx-service.exe」,當然,你也可以不改名)
②將重命名後的 nginx-service.exe 復制到 nginx 的安裝目錄(比如,我這里是 「D:\Servers\nginx-1.4.7″)
③在同一個目錄下創建一個Windows Service Wrapper 的XML配置文件,名稱必須與第一步重命名時使用的名稱一致(比如我這里是 「nginx-service.xml」, 如果,你沒有重命名,則應該是 「winsw-1.8-bin.xml」),這個XML的內容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>Nginx Service</name>
<description>High Performance Nginx Service</description>
<executable>D:\Servers\nginx-1.4.7\nginx.exe</executable>
<logpath>D:\Servers\nginx-1.4.7\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\Servers\nginx-1.4.7</startargument>
<stopargument>-p D:\Servers\nginx-1.4.7 -s stop</stopargument>
</service>
④在命令行下執行以下命令,以便將其注冊成Windows服務:nginx-service.exe install
Nginx搭建反向代理伺服器過程詳解
⑤接下來就可以在Windows服務列表看到Nginx服務了,這里我們可以將其設置為自動啟動了:
Nginx搭建反向代理伺服器過程詳解
(5)總結:在Windows環境中,要對外提供的Windows服務一般都要將其啟動類型設置為自動。
3.3 修改Nginx核心配置文件nginx.conf
(1)進程數與每個進程的最大連接數:
?nginx進程數,建議設置為等於CPU總核心數
?單個進程最大連接數,那麼該伺服器的最大連接數=連接數*進程數
Nginx搭建反向代理伺服器過程詳解
(2)Nginx的基本配置:
?監聽埠一般都為http埠:80;
?域名可以有多個,用空格隔開:例如 server_name www.ha97.com ha97.com;
Nginx搭建反向代理伺服器過程詳解
(3)負載均衡列表基本配置:
?location / {}:對aspx後綴的進行負載均衡請求,假如我們要對所有的aspx後綴的文件進行負載均衡時,可以這樣寫:location ~ .*\.aspx$ {}
?proxy_pass:請求轉向自定義的伺服器列表,這里我們將請求都轉向標識為http://cuitccol.com的負載均衡伺服器列表;
Nginx搭建反向代理伺服器過程詳解
?在負載均衡伺服器列表的配置中,weight是權重,可以根據機器配置定義權重(如果某台伺服器的硬體配置十分好,可以處理更多的請求,那麼可以 為其設置一個比較高的weight;而有一台的伺服器的硬體配置比較差,那麼可以將前一台的weight配置為weight=2,後一台差的配置為 weight=1)。weigth參數表示權值,權值越高被分配到的幾率越大;
Nginx搭建反向代理伺服器過程詳解
(4)總結:最基本的Nginx配置差不多就是上面這些內容,當然僅僅是最基礎的配置。(詳細的配置內容請下載底部的nginx-1.4.7詳細查看)
3.4 添加Nginx對於靜態文件的緩存配置
為了提高響應速度,減輕真實伺服器的負載,對於靜態資源我們可以在反向代理伺服器中進行緩存,這也是反向代理伺服器的一個重要的作用。
(1)緩存靜態資源之圖片文件
root /nginx-1.4.7/staticresources/image:對於配置中提到的jpg/png等文件均定為到/nginx-1.4.7/staticresources/image文件夾中進行尋找匹配並將文件返回;
expires 7d:過期時效為7天,靜態文件不怎麼更新,過期時效可以設大一點,如果頻繁更新,則可以設置得小一點;
TIPS:下面的樣式、腳本緩存配置同這里一樣,只是定位的文件夾不一樣而已,不再贅述。
Nginx搭建反向代理伺服器過程詳解
(2)緩存靜態資源之樣式文件
Nginx搭建反向代理伺服器過程詳解
(3)緩存靜態資源之腳本文件
Nginx搭建反向代理伺服器過程詳解
(4)在nginx服務文件夾中創建靜態資源文件夾,並要緩存的靜態文件拷貝進去:這里我主要將Web程序中用到的image、css以及js文件拷貝了進去;
Nginx搭建反向代理伺服器過程詳解
(5)總結:通過配置靜態文件的緩存設置,對於這些靜態文件的請求可以直接從反向代理伺服器中直接返回,而無需再將這些靜態資源請求轉發到具體的Web伺服器進行處理了,可以提高響應速度,減輕真實Web伺服器的負載壓力。
3.5 簡單測試Nginx反向代理實現負載均衡效果
(1)第一次訪問http://localhost/Default.aspx時從127.0.0.1:8050處理響應返回結果
(2)第二次訪問http://localhost/Default.aspx時從127.0.0.1:8060處理響應返回結果
(3)多次訪問http://localhost/Default.aspx時的截屏:
Nginx搭建反向代理伺服器過程詳解
學習小結
在本文中,藉助了Nginx這個神器簡單地在Windows環境下搭建了一個反向代理服務,並模擬了一個IIS伺服器集群的負載均衡效果。從這個 DEMO中,我們可以簡單地感受到反向代理為我們所做的事情,並體會負載均衡是怎麼一回事。但是,在目前大多數的應用中,都會將Nginx部署在 Linux伺服器中,並且會做一些針對負載均衡的優化配置,這里我們所做的僅僅就是一個小小的使用而已(just修改一下配置文件)。不過,萬丈高樓平地 起,前期的小小體會,也會幫助我們向後期的深入學習奠定一點點的基礎。
突然在QQ空間里看到了朋友送的禮物,猛然發現今天居然是我的陽歷生日,好吧,我祝我自己生日快樂,希望自己在未來的日子中能夠做更多的實踐,分享更多的內容。當然,如果你覺得本文還可以,那也麻煩點個贊,不要吝嗇你的滑鼠左鍵喲。

Ⅳ 轉載:反向代理伺服器nginx-proxy-manager

什麼是 Nginx Proxy Manager ?

Nginx Proxy Manager 是用於管理 Nginx 代理主機的 Docker 容器,具有簡單、強大的界面。它使您可以輕松地轉發到您在家裡或其他地方運行的網站,包括免費的 SSL,而無需對 Nginx 或 Letsencrypt 了解太多。

通過 phpMyAdmin 在 MariaDB 10 中新建用戶 npm ,創建同名的庫 npm 並授予所有許可權。

在注冊表中搜索 nginx-proxy-manager ,選擇第一個 jc21/nginx-proxy-manager,版本選擇 latest。

在 docker 文件夾中,創建一個新文件夾,並將其命名為 npm,再建 2 個子目錄,分別命名為 data 和 letsencrypt


埠不沖突就行,不確定的話可以用命令查一下

在瀏覽器中輸入 http://群暉IP:2081 就能看到主界面

默認的賬號: [email protected] ,密碼:changeme

登錄後可以編輯用戶信息

之後是密碼

進入主菜單的 SSL Certificates

Add SSL Certificate 有兩種方式,一種是在線申請,另一種是添加已有證書

在線申請和我們在『 免費的泛域名https證書自動續期 』一文中介紹的非常類似,需要選擇 DNS 解析服務提供商,以及填寫 token 等參數

老蘇因為已經配置了 Certbot 並實現了自動續期,所以只需要導入現有證書就可以了,Name 老蘇用了域名,這樣比較容易識別

上傳成功後,證書存放在 /data/custom_ssl/ 目錄中以 npm-1 、 npm-2 等子目錄保存

進入主菜單的 Hosts

以將 http://192.168.0.197:5000 映射到 https://nas.laosu.ml 為例

因為准備用 https 協議訪問,所以必須勾選 Force SSL

其他的 HTTP/2 和 HSTS 和群暉內置的是一樣的,可根據需要勾選,沒啥問題的話老蘇建議都勾上

為什麼要另外安裝 nginx proxy manager 而不是用群暉內置的反向代理的原因,老蘇在一開始就講了,裝完之後老蘇還發現了幾個優點:

Ⅳ Nginx 最全操作——nginx反向代理(5)

將 NGINX 配置為 HTTP 和其他協議的反向代理,支持修改請求標頭和微調的響應緩沖。

本文介紹代理伺服器的基本配置。您將學習如何通過不同的協議將請求從 NGINX 傳遞到代理伺服器,修改發送到代理伺服器的客戶端請求標頭,以及配置來自代理伺服器的響應的緩沖。

代理通常用於在多個伺服器之間分配負載,無縫顯示來自不同網站的內容,或通過 HTTP 以外的協議將處理請求傳遞給應用程序伺服器。

當 NGINX 代理請求時,它會將請求發送到指定的代理伺服器,獲取響應,然後將請求發送回客戶端。可以使用指定的協議將請求代理到 HTTP 伺服器(另一個 NGINX 伺服器或任何其他伺服器)或非 HTTP 伺服器(可以運行使用特定框架開發的應用程序,例如 PHP 或 Python)。支持的協議包括FastCGI、uwsgi、SCGI和memcached。

要將請求傳遞給 HTTP 代理伺服器,需要在location中指定proxy_pass指令。例如:

此示例配置導致將在此位置處理的所有請求傳遞到指定地址的代理伺服器。此地址可以指定為域名或者 IP 地址。該地址還可能包括一個埠:

注意,在上面的第一個例子中,代理的伺服器的地址後面是一個URI, /link/ 。如果 URI 與地址一起指定,它將替換請求 URI 中與 location 參數匹配的部分。例如,這里帶有 /some/path/page.html URI的請求將被代理到 http://www.example.com/link/page.html . 如果指定的地址沒有問題 URI,或者無法確定要替換的 URI 部分,則傳遞完整的請求 URI(可能已修改)。

要將請求傳遞給非 HTTP 代理伺服器, **_pass 應使用適當的指令:

請注意,在這些情況下,指定地址的規則可能不同。您可能還需要將其他參數傳遞給伺服器(有關詳細信息,請參閱參考文檔)。

proxy_pass指令也可以指向一組命名的伺服器。在這種情況下,請求根據指定的方法在組中的伺服器之間分發。

默認情況下,NGINX 重新定義代理請求中的兩個 header 欄位,「Host」和「Connection」,並消除值為空字元串的 header 欄位。「Host」設置為 $proxy_host 變數,「Connection」設置為 close 。

要更改這些設置以及修改其他標頭欄位,請使用proxy_set_header指令。該指令可以在某個位置或更高位置指定。它也可以在特定的伺服器上下文或http塊中指定。例如:

在此配置中,「主機」欄位設置為$host變數。

要防止標頭欄位被傳遞到代理伺服器,請將其設置為空字元串,如下所示:

默認情況下,NGINX 緩沖來自代理伺服器的響應。響應存儲在內部緩沖區中,並且在收到整個響應之前不會發送到客戶端。緩沖有助於優化慢速客戶端的性能,如果響應從 NGINX 同步傳遞到客戶端,這可能會浪費代理伺服器的時間。但是,當啟用緩沖時,NGINX 允許代理伺服器快速處理響應,而 NGINX 存儲響應的時間與客戶端下載它們所需的時間一樣長。

負責啟用和禁用緩沖的指令是proxy_buffering。默認情況下,它設置為 on 並啟用緩沖器。

該proxy_buffers指令控制規模和分配的請求緩沖區的數目。來自代理伺服器的響應的第一部分存儲在單獨的緩沖區中,其大小由proxy_buffer_size指令設置。這部分通常包含一個相對較小的響應頭,並且可以做得比其餘響應的緩沖區小。

在以下示例中,緩沖區的默認數量增加了,並且響應的第一部分的緩沖區大小小於默認值。

如果禁用緩沖,則在從代理伺服器接收響應的同時將響應同步發送到客戶端。對於需要盡快開始接收響應的快速交互客戶端,此行為可能是可取的。

要在特定位置禁用緩沖,請將proxy_buffering指令放在帶有參數的位置 off ,如下所示:

在這種情況下,NGINX 僅使用proxy_buffer_size配置的緩沖區來存儲響應的當前部分。

反向代理的一個常見用途是提供負載平衡。閱讀免費的選擇軟體負載均衡器的五個理由電子書,了解如何通過快速部署來提高功能、性能和專注於您的應用程序。

如果您的代理伺服器有多個網路介面,有時您可能需要選擇特定的源 IP 地址連接到代理伺服器或上游。如果 NGINX 後面的代理伺服器配置為接受來自特定 IP 網路或 IP 地址范圍的連接,這可能很有用。

指定proxy_bind指令和必要網路介面的 IP 地址:

IP 地址也可以用變數指定。例如, $server_addr 變數傳遞接受請求的網路介面的 IP 地址:

簡單來說,把網路首頁代理到/test路徑,同時把java代理到/testapi,配置如下:

參考鏈接:https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

歡迎大家提出不一樣的觀點,我們一起討論,

我是辣個男人,一個運維人。

Ⅵ 映射公網花生殼、PubYun、NoIP、DynDNS、Ngrok、Tunnel、localtunnel、pagekite

這篇文章花了好幾天,系統地梳理出了映射公網的幾種方式。雖然是針對微信開發的外網伺服器來尋找解決方案,但這個知識梳

理可能會在其他地方也受益。平常我也有用TeamViewer,在搜集資料的過程中也知道了其大致工作原理。還有一些免費好用的反向代理軟體,可能會在後

頭派上用場。

一、映射公網的兩種方式介紹

1 動態域名解析+埠映射(公網環境)

動態域名解析,俗稱DDNS。目前提供這種服務的廠商還挺多,我目前知道有幾家:

Oray花生殼

PubYun公雲

No-IP

DynDNS

如果你對一個公網IP有許可權,那就可以採用這種方式。你的路由器的WAN口就是寬頻,那這種方式就適用。DDNS的作用就是將WAN口分配到IP與域名綁定在一起,訪問這個域名,相當於就訪問到了你的WAN口。於是你只要在路由器上做一個埠映射即可。

此種方式的局限性可能就是大部分運營商都屏蔽了80等常用埠,所以做微信開發要用到80埠的話這種方式就不大適合。

2 反向代理(內網環境)

如果你在一家公司上班,公司內部可能分了好幾級的路由,就比如我,那第一種方式就走不通。寫零java基礎搞定微信Server_3:搭建微信

Server本地開發環境那晚弄到半夜就是這個原因。哦,我當然不是在加班。我在家裡,房間用了一個二級路由,那晚真真是搞死寶寶了。

下面這兩張圖可以快速了解反向代理。

我們是採用本機與反向代理server組建網路(相當於一個虛擬區域網),訪問反向代理server的數據都被轉發到本機。

從 有簡單一點的將內網映射到外網的工具嗎? 這個帖子中收獲良多。作者 沙渺 告訴我們:

實際上ngrok就是一種僅僅針對http單一用途的代理服務。ngrok的原理很可能並不是真正的內網穿透,而是真的老老實實的充當反向代理,承擔所有實際發生的流量。

這方面的替代服務有localtunnel.me和pagekite等。

內網穿透的應用中,通訊雙方必然首先對一個公網伺服器主動發起連接。。。

各種相關的軟體都是如此,例如TeamViewer、Oray向日葵乃至QQ遠程協助等。就說這個ngrok,其實也是需要通訊雙方連接ngrok中心伺服器,甚至中心伺服器的某些高級功能還提供付費計劃對吧。

於是乎,我們映射公網的工具,除了ngrok之外,又多了 localtunnel.me 和 pagekite 。

二、反向代理的實現

1 自己創建反向代理服務

用這種方式,成本較高,需要三樣東西:

伺服器

代理服務端的監聽轉發程序

目的服務端(同時也是面向代理伺服器的客戶端)的主機轉發程序

如果你有伺服器,那自己寫個轉發工具應該是可以實現的。比較省力的方式是參考ngrok的源碼。ngrok是應該濃墨重彩寫一番,開源,自由,github上開源了V1.0版本

https://github.com/inconshreveable/ngrok/

一個在自己VPS搭建ngrok的實例, https://imququ.com/post/self-hosted-ngrokd.html

很多人和我一樣,現階段就想做一個微信開發,那自己花大精力去實現一個反向代理顯然不值得。這時候就得從已有的軟體中進行選擇。運行穩定,成了最主要考慮的因素。

2 廠商服務

Ngrok比較出名,提供免費服務,但可惜容易被牆。那解決方式就是牆內也搞Ngrok。由於我所知有限,僅僅把目前知道的幾家列出來。(這里我可能先入為主了,因為我把這些廠商粗暴地分為了Ngrok和非Ngrok,忽略了其他廠商們所做出的努力。)

Ngrok

免費,但會被牆。

Tunnel

昨晚測試,訪問不了。

localtunnel

可用

pagekite

可用

新花生殼

開通內網映射,映射主機即可。目前免費版也要收取8塊錢的費用就是了。

NAT123

功能同花生殼,但似乎是免費的。

我貪圖省事,直接花錢認證了花生殼,後面四種就沒再處理了。看到別人用localtunnel和pagekite有成功的,所以我就不搬了。

閱讀全文

與免費反向代理軟體相關的資料

熱點內容
電腦上怎麼下載班智達的軟體 瀏覽:1114
無痕跡消除圖片軟體 瀏覽:683
免費小票軟體 瀏覽:918
華為在哪裡設置軟體停止運行 瀏覽:929
用電腦鍵盤調節聲音大小 瀏覽:1228
自動刷軟體賺錢 瀏覽:1229
古裝連續劇免費版 瀏覽:1381
工免費漫畫 瀏覽:1121
手機軟體專門儲存文件 瀏覽:1477
uos如何用命令安裝軟體 瀏覽:1273
有線耳機插電腦麥克風 瀏覽:625
侏羅紀世界3在線觀看完整免費 瀏覽:965
單個軟體怎麼設置名稱 瀏覽:688
鳳凰網電腦版下載視頻怎麼下載視頻怎麼下載 瀏覽:1351
明白之後如何免費獲得無人機 瀏覽:800
如何解禁軟體菜單 瀏覽:807
副路由器連接電腦視頻 瀏覽:1323
內置wifi電視如何裝軟體 瀏覽:1062
手機換零免費雪碧 瀏覽:1557
國行蘋果如何下載美版軟體 瀏覽:1173