WEB伺服器

WEB伺服器

Web伺服器一般指網站伺服器,是指駐留於網際網路上某種類型計算機的程式,可以向瀏覽器等Web客戶端提供文檔,也可以放置網站檔案,讓全世界瀏覽;可以放置數據檔案,讓全世界下載。目前最主流的三個Web伺服器是Apache Nginx IIS。

基本介紹

  • 中文名:WEB伺服器
  • 外文名:Web Server
  • 其他名字:WWW(WORLD WIDE WEB)伺服器
詞義辨析,WEB簡介,協定,WWW簡介,發展和特點,伺服器特點,工作原理,大型,IIS,Kangle,WebSphere,WebLogic,Apache,Tomcat,Jboss,2003Web,小型,配置,安全,設定策略,漏洞測試,持續監控,設定蜜罐,攻防測試,宕機診斷方法,步驟1:發生了什麼事,步驟2:最簡單的解決方案往往是最好的,步驟3:基本故障處理方法沒有效果怎么辦,步驟4:使盡渾身解數,伺服器依然宕機,步驟5:絕境下需要動用絕招,選購指南,發展趨勢,從HTML到XML,從有線到無線,從無聲到有聲,

詞義辨析

什麼是網路伺服器
網路伺服器是網路環境下為客戶提供某種服務的專用計算機

WEB簡介

WEB伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務。 WWW 是 Internet 的多媒體信息查詢工具,是 Internet 上近年才發展起來的服務,也是發展最快和目前用的最廣泛的服務。正是因為有了WWW工具,才使得近年來 Internet 迅速發展,且用戶數量飛速增長。
Web伺服器是可以向發出請求的瀏覽器提供文檔的程式
1、伺服器是一種被動程式:只有當Internet上運行其他計算機中的瀏覽器發出的請求時,伺服器才會回響。
WEB伺服器
2 、最常用的Web伺服器是ApacheMicrosoftInternet信息伺服器(Internet Information Services,IIS)。
3、Internet上的伺服器也稱為Web伺服器,是一台在Internet上具有獨立IP位址的計算機,可以向Internet上的客戶機提供WWW、EmailFTP等各種Internet服務。
4Web伺服器是指駐留於網際網路上某種類型計算機的程式。當Web瀏覽器(客戶端)連到伺服器上並請求檔案時,伺服器將處理該請求並將檔案反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該檔案(即檔案類型)。伺服器使用HTTP超文本傳輸協定)與客戶機瀏覽器進行信息交流,這就是人們常把它們稱為HTTP伺服器的原因。
Web伺服器不僅能夠存儲信息,還能在用戶通過Web瀏覽器提供的信息的基礎上運行腳本和程式。

協定

  1. HTML(標準通用標記語言下的一個套用)文檔格式。
  2. 瀏覽器統一資源定位器URL)。
  3. 為了解決HTTP協定的這一缺陷,需要使用另一種協定:安全套接字層超文本傳輸協定HTTPS。為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協定,SSL依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通信加密。

WWW簡介

WWW是 World Wide Web (環球信息網)的縮寫,也可以簡稱為 Web,中文名字為“全球資訊網”。它起源於1989年3月,由歐洲量子物理實驗室CERN(the European Laboratory for Particle Physics)所發展出來的主從結構分散式超媒體系統。通過全球資訊網,人們只要通過使用簡單的方法,就可以很迅速方便地取得豐富的信息資料。由於用戶在通過 Web瀏覽器訪問信息資源的過程中,無需再關心一些技術性的細節,而且界面非常友好,因而 Web 在Internet 上一推出就受到了熱烈的歡迎,走紅全球,並迅速得到了爆炸性的發展。

發展和特點

長期以來,人們只是通過傳統的媒體(如電視、報紙、雜誌和廣播等)獲得信息。但隨著計算機網路的發展,人們想要獲取信息,已不再滿足於傳統媒體那種單方面傳輸和獲取的方式,而希望有一種主觀的選擇性。網路上提供各種類別的資料庫系統,如文獻期刊、產業信息、氣象信息、論文檢索等等。由於計算機網路的發展,信息的獲取變得非常及時、迅速和便捷。
到了1993年,WWW 的技術有了突破性的進展,它解決了遠程信息服務中的文字顯示、數據連線以及圖像傳遞的問題,使得 WWW 成為 Internet 上最為流行的信息傳播方式。Web 伺服器成為 Internet 上最大的計算機群,Web 文檔之多、連結的網路之廣,令人難以想像。可以說,Web 為 Internet 的普及邁出了開創性的一步,是近年來 Internet 上取得的最激動人心的成就。
WWW 採用的是瀏覽器/伺服器結構,其作用是整理和儲存各種WWW資源,並回響客戶端軟體的請求,把客戶所需的資源傳送到 Windows 95(或Windows98)、Windows NT、UNⅨ 或 Linux 等平台上。
使用最多的 web server伺服器軟體有兩個:微軟的信息伺服器(iis),和Apache。
通俗的講,Web伺服器傳送(serves)頁面使瀏覽器可以瀏覽,然而應用程式伺服器提供的是客戶端應用程式可以調用(call)的方法(methods)。確切一點,你可以說:Web伺服器專門處理HTTP請求(request),但是應用程式伺服器是通過很多協定來為應用程式提供(serves)商業邏輯(business logic)。
Web伺服器可以解析(handles)HTTP協定。當Web伺服器接收到一個HTTP請求(request),會返回一個HTTP回響(response),例如送回一個HTML頁面。為了處理一個請求(request),Web伺服器可以回響(response)一個靜態頁面或圖片,進行頁面跳轉(redirect),或者把動態回響(dynamic response)的產生委託(delegate)給一些其它的程式例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server Pages)腳本,伺服器端(server-side)JavaScript,或者一些其它的伺服器端(server-side)技術。無論它們(譯者註:腳本)的目的如何,這些伺服器端(server-side)的程式通常產生一個HTML的回響(response)來讓瀏覽器可以瀏覽。
要知道,Web伺服器的代理模型(delegation model)非常簡單。當一個請求(request)被送到Web伺服器里來時,它只單純的把請求(request)傳遞給可以很好的處理請求(request)的程式(譯者註:伺服器端腳本)。Web伺服器僅僅提供一個可以執行伺服器端(server-side)程式和返回(程式所產生的)回響(response)的環境,而不會超出職能範圍。伺服器端(server-side)程式通常具有事務處理(transaction processing),資料庫連線(database connectivity)和訊息(messaging)等功能。
雖然Web伺服器不支持事務處理或資料庫連線池,但它可以配置(employ)各種策略(strategies)來實現容錯性(fault tolerance)和可擴展性(scalability),例如負載平衡(load balancing),緩衝(caching)。集群特徵(clustering—features)經常被誤認為僅僅是應用程式伺服器專有的特徵。
應用程式伺服器(The Application Server)
根據我們的定義,作為應用程式伺服器,它通過各種協定,可以包括HTTP,把商業邏輯暴露給(expose)客戶端應用程式。Web伺服器主要是處理向瀏覽器傳送HTML以供瀏覽,而應用程式伺服器提供訪問商業邏輯的途徑以供客戶端應用程式使用。應用程式使用此商業邏輯就象你調用對象的一個方法(或過程語言中的一個函式)一樣。
應用程式伺服器的客戶端(包含有圖形用戶界面(GUI)的)可能會運行在一台PC、一個Web伺服器或者甚至是其它的應用程式伺服器上。在應用程式伺服器與其客戶端之間來回穿梭(traveling)的信息不僅僅局限於簡單的顯示標記。相反,這種信息就是程式邏輯(program logic)。正是由於這種邏輯取得了(takes)數據和方法調用(calls)的形式而不是靜態HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業邏輯
在大多數情形下,應用程式伺服器是通過組件(component)的應用程式接口(API)把商業邏輯暴露(expose)(給客戶端應用程式)的,例如基於J2EE(Java 2 Platform,Enterprise Edition)應用程式伺服器的EJB(Enterprise JavaBean)組件模型。此外,應用程式伺服器可以管理自己的資源,例如看大門的工作(gate-keeping duties)包括安全(security),事務處理(transaction processing),資源池(resource pooling), 和訊息(messaging)。就象Web伺服器一樣,應用程式伺服器配置了多種可擴展(scalability)和容錯(fault tolerance)技術。
例如,構想一個線上商店(網站)提供實時定價(real-time pricing)和有效性(availability)信息。這個站點(site)很可能會提供一個表單(form)讓你來選擇產品。當你提交查詢(query)後,網站會進行查找(lookup)並把結果內嵌在HTML頁面中返回。網站可以有很多種方式來實現這種功能。我要介紹一個不使用應用程式伺服器的情景和一個使用應用程式伺服器的情景。觀察一下這兩中情景的不同會有助於你了解應用程式伺服器的功能。
情景1:不帶應用程式伺服器的Web伺服器
在此種情景下,一個Web伺服器獨立提供線上商店的功能。Web伺服器獲得你的請求(request),然後傳送給伺服器端(server-side)可以處理請求(request)的程式。此程式從資料庫或文本檔案(flat file,譯者註:flat file是指沒有特殊格式的非二進制的檔案,如properties和XML檔案等)中查找定價信息。一旦找到,伺服器端(server-side)程式把結果信息表示成(formulate)HTML形式,最後Web伺服器把會它傳送到你的Web瀏覽器
簡而言之,Web伺服器只是簡單的通過回響(response)HTML頁面來處理HTTP請求(request)。
情景2:帶應用程式伺服器的Web伺服器
情景2和情景1相同的是Web伺服器還是把回響(response)的產生委託(delegates)給腳本(譯者註:伺服器端(server-side)程式)。然而,你可以把查找定價的商業邏輯(business logic)放到應用程式伺服器上。由於這種變化,此腳本只是簡單的調用應用程式伺服器的查找服務(lookup service),而不是已經知道如何查找數據然後表示為(formulate)一個回響(response)。這時當該腳本程式產生HTML回響(response)時就可以使用該服務的返回結果了。
在此情景中,應用程式伺服器提供(serves)了用於查詢產品的定價信息的商業邏輯。(伺服器的)這種功能(functionality)沒有指出有關顯示和客戶端如何使用此信息的細節,相反客戶端和應用程式伺服器只是來回傳送數據。當有客戶端調用應用程式伺服器的查找服務(lookup service)時,此服務只是簡單的查找並返回結果給客戶端。
通過從回響產生(response-generating)HTML的代碼中分離出來,在應用程式之中該定價(查找)邏輯的可重用性更強了。其他的客戶端,例如收款機,也可以調用同樣的服務(service)來作為一個店員給客戶結帳。相反,在情景1中的定價查找服務是不可重用的因為信息內嵌在HTML頁中了。
總而言之,在情景2的模型中,在Web伺服器通過回應HTML頁面來處理HTTP請求(request),而應用程式伺服器則是通過處理定價和有效性(availability)請求(request)來提供應用程式邏輯的。
警告(Caveats)
XML Web Services已經使應用程式伺服器和Web伺服器的界線混淆了。通過傳送一個XML有效載荷(payload)給伺服器,Web伺服器現在可以處理數據和回響(response)的能力與以前的應用程式伺服器同樣多了。
另外,大多數應用程式伺服器也包含了Web伺服器,這就意味著可以把Web伺服器當作是應用程式伺服器的一個子集(subset)。雖然應用程式伺服器包含了Web伺服器的功能,但是開發者很少把應用程式伺服器部署(deploy)成這種功能(capacity)(譯者註:這種功能是指既有應用程式伺服器的功能又有Web伺服器的功能)。相反,如果需要,他們通常會把Web伺服器獨立配置,和應用程式伺服器一前一後。這種功能的分離有助於提高性能(簡單的Web請求(request)就不會影回響用程式伺服器了),分開配置(專門的Web伺服器,集群(clustering)等等),而且給最佳產品的選取留有餘地。

伺服器特點

Windows,Linux與Unix這3個作業系統是架設Web伺服器比較常見的作業系統。Linux的安全性能在這3個作業系統中最高,可以支持多個硬體平台,其網路功能比較強大。總的來說,這兩大優點是其他作業系統不可替代的:第一,可以依據用戶不同的需求來隨意修改、調整與複製各種程式的源碼以及發布在網際網路上;第二,Linux作業系統的市場價格比較便宜,也能夠在網際網路上免費下載源碼。可以說,Linux為架設既高效又安全的Web伺服器的比較理想的作業系統。此外,要讓Web伺服器更具有優越的性能,可以根據伺服器系統之特點與用途作進一步的最佳化與處理,儘量減少Web伺服器的數據傳輸量以及降低其數據傳輸的頻率,進而促進網路寬頻的利用率與使用率,以及提高網路客戶端的網頁載入的速度,同時也可以減少Web伺服器各種資源的消耗。

工作原理


Web伺服器的工作原理並不複雜,一般可分成如下4個步驟:連線過程、請求過程、應答過程以及關閉連線。下面對這4個步驟作一簡單的介紹。連線過程就是Web伺服器和其瀏覽器之間所建立起來的一種連線。查看連線過程是否實現,用戶可以找到和打開socket這個虛擬檔案,這個檔案的建立意味著連線過程這一步驟已經成功建立。請求過程就是Web的瀏覽器運用socket這個檔案向其伺服器而提出各種請求。應答過程就是運用HTTP協定把在請求過程中所提出來的請求傳輸到Web的伺服器,進而實施任務處理,然後運用HTTP協定把任務處理的結果傳輸到Web的瀏覽器,同時在Web的瀏覽器上面展示上述所請求之界面。關閉連線就是當上一個步驟--應答過程完成以後,Web伺服器和其瀏覽器之間下線之過程。Web伺服器上述4個步驟環環相扣、緊密相聯,邏輯性比較強,可以支持多個進程、多個執行緒以及多個進程與多個執行緒相混合的技術。

大型

在UNⅨ和LINUX平台下使用最廣泛的免費HTTP伺服器是Apache和Nginx伺服器,而Windows平台NT/2000/2003使用ⅡS的WEB伺服器。在選擇使用WEB伺服器應考慮的本身特性因素有:性能、安全性、日誌和統計、虛擬主機代理伺服器、緩衝服務和集成應用程式等,下面介紹幾種常用的WEB伺服器。

IIS

Microsoft的Web伺服器產品為Internet Information Services (IIS),IIS 是允許在公共Intranet或Internet上發布信息的Web伺服器。ⅡS是目前最流行的Web伺服器產品之一,很多著名的網站都是建立在ⅡS的平台上。IIS提供了一個圖形界面的管理工具,稱為Internet服務管理器,可用於監視配置和控制Internet服務。
IIS是一種Web服務組件,其中包括Web伺服器、FTP伺服器、NNTP伺服器和SMTP伺服器,分別用於網頁瀏覽、檔案傳輸、新聞服務和郵件傳送等方面,它使得在網路(包括網際網路和區域網路)上發布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作為擴展Web伺服器功能的編程接口;同時,它還提供一個Internet資料庫連線器,可以實現對資料庫的查詢和更新。

Kangle

kangle web伺服器(簡稱:kangle)是一款跨平台、功能強大、安全穩定、易操作的高性能web伺服器和反向代理伺服器軟體。除此:kangle也是一款專為做虛擬主機研發的web伺服器。實現虛擬主機獨立進程、獨立身份運行。用戶之間安全隔離,一個用戶出問題不影響其他用戶。安全支持php、asp、asp·net、java、ruby等多種動態開發語言。

WebSphere

WebSphere Application Server 是一種功能完善、開放的Web應用程式伺服器,是IBM電子商務計畫的核心部分,它是基於 Java 的套用環境,用於建立、部署和管理 Internet 和 Intranet Web 應用程式。這一整套產品進行了擴展,以適應 Web應用程式伺服器的需要,範圍從簡單到高級直到企業級。
WebSphere 針對以 Web 為中心的開發人員,他們都是在基本 HTTP伺服器和CGI編程技術上成長起來的。IBM 將提供 WebSphere 產品系列,通過提供綜合資源、可重複使用的組件、功能強大並易於使用的工具、以及支持 HTTP 和 IIOP 通信的可伸縮運行時環境,來幫助這些用戶從簡單的 Web應用程式轉移到電子商務世界。

WebLogic

BEA WebLogic Server是一種多功能、基於標準的web套用伺服器,為企業構建自己的套用提供了堅實的基礎。各種套用開發、部署所有關鍵性的任務,無論是集成各種系統和資料庫,還是提交服務、跨 Internet 協作,起始點都是 BEA WebLogic Server。由於 它具有全面的功能、對開放標準的遵從性、多層架構、支持基於組件的開發,基於 Internet 的企業都選擇它來開發、部署最佳的套用。
BEA WebLogic Server 在使套用伺服器成為企業套用架構的基礎方面繼續處於領先地位。BEA WebLogic Server 為構建集成化的企業級套用提供了穩固的基礎,它們以 Internet 的容量和速度,在連網的企業之間共享信息、提交服務,實現協作自動化。

Apache

Apache仍然是世界上用的最多的Web伺服器,市場占有率達60%左右。它源於NCSAhttpd伺服器,當NCSAWWW伺服器項目停止後,那些使用NCSA WWW伺服器的人們開始交換用於此伺服器的補丁,這也是apache名稱的由來(pache 補丁)。世界上很多著名的網站都是Apache的產物,它的成功之處主要在於它的原始碼開放、有一支開放的開發隊伍、支持跨平台的套用(可以運行在幾乎所有的Unix、Windows、Linux系統平台上)以及它的可移植性等方面。

Tomcat

Tomcat是一個開放原始碼、運行servlet和JSP Web套用軟體的基於Java的Web套用軟體容器。Tomcat Server是根據servlet和JSP規範進行執行的,因此我們就可以說Tomcat Server也實行了Apache-Jakarta規範且比絕大多數商業套用軟體伺服器要好。
Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技術的標準實現,是基於Apache許可證下開發的自由軟體。Tomcat是完全重寫的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代碼,特別是Apache服務適配器。隨著Catalina Servlet引擎的出現,Tomcat第四版號的性能得到提升,使得它成為一個值得考慮的Servlet/JSP容器,因此許多WEB伺服器都是採用Tomcat。

Jboss

是一個基於J2EE的開放原始碼套用伺服器。 JBoss代碼遵循LGPL許可,可以在任何商業套用中免費使用,而不用支付費用。JBoss是一個管理EJB的容器和伺服器,支持EJB 1.1、EJB 2.0和EJB3的規範。但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。
JBOSS伺服器使用詳解
1、把檔案解壓到一個不含空格的,非中文目標下,如:jboss
2、加入MyEclipse —> Servers -> JBoss -> JBoss 5.x
(1)、JBoss home directory :選擇JBOSS存放的路徑;如:C:\JBOSS\jboss-5.1.0
(2)、Server name :default (3個默認的配置:minimial,default和all)
3、Apply -> OK
4、配置環境變數:
(1)、添加:變數名:JBoss_HOME 變數值:C:\JBOSS\jboss-5.1.0(JBoss的解壓後的目錄)
(2)、把 C:\JBOSS\jboss-5.1.0\bin 變數值加到:path變數中;
(3)、保存
5、運行:C:\JBOSS\jboss-5.1.0\bin\run.bat 檔案
6、發布web項目
JBOSS伺服器目錄結構作用介紹
目錄 描述
------------------------------------------------------------------------------
bin 啟動和關閉JBoss的腳本
client 客戶端與JBoss通信所需的的Java庫(JARs)
docs 配置的樣本檔案(資料庫配置等)
doc/dtd 在JBoss中使用的各種XML檔案的DTD。
lib 一些JAR,JBoss啟動時載入,且被所有JBoss配置共享。(不要把你的庫放在這裡)
server 各種JBoss配置。每個配置必須放在不同的子目錄。子目錄的名字表示配置的名字。
JBoss包含3個默認的配置:minimial,default和all。
server/all JBoss的完全配置,啟動所有服務,包括集群和IIOP。
server/default JBoss的默認配置。在沒有在JBoss命令航中指定配置名稱時使用。
server/default/conf JBoss的配置檔案。
server/default/data JBoss的資料庫檔案。比如,嵌入的資料庫,或者JBossMQ。
server/default/deploy JBoss的熱部署目錄。放到這裡的任何檔案或目錄會被JBoss自動部署。EJB、WAR、EAR,甚至服務。
server/default/lib 一些JAR,JBoss在啟動特定配置時載入它們。(all和minimial配置也包含這個和下面兩個目錄。)
server/default/log JBoss的日誌檔案。
server/default/tmp JBoss的臨時檔案。
補充
1、JBoss的默認連線埠是8080
2、對於NT和Win2000系統如果你要安裝NT或Win2000服務的話,可以把JBoss加在系統服務中,避免你每次需要到JBoss目錄下運行run.bat命令,只是當系統啟動時,自動啟動JBoss伺服器。

2003Web

Web伺服器組件是Windows Server2003系統中ⅡS6.0的服務組件之一,默認情況下並沒有被安裝,用戶需要手動安裝Web服務組件。
第1步,打開“控制臺”視窗,雙擊“添加/刪除程式”圖示,打開“添加或刪除程式”視窗。單擊“添加/刪除Windows組件”按鈕,打開“Windows組件安裝精靈”對話框。
第2步,在“Windows組件”對話框中雙擊“應用程式伺服器”選項,打開“應用程式伺服器”對話框。在“應用程式伺服器的子組件”列表中雙擊“Internet 信息服務(ⅡS)”複選框
第3步,打開“Internet 信息服務(ⅡS)”對話框,在“Internet 信息服務(ⅡS) 的子組件”列表中選中“全球資訊網服務”複選框。依次單擊“確定”→“確定”按鈕。
第4步,系統開始安裝ⅡS 6.0和Web服務組件。在安裝過程中需要提供Windows Server 2003系統安裝光碟或指定安裝檔案路徑。安裝完成後單擊“完成”按鈕即可。

小型

【nginx】
* 支持通用語言接口,如php、python、perl等
* 支持正向和反向代理、虛擬主機、url重寫、壓縮傳輸等
* nginx的模組都是靜態編譯的,對fcgi的支持非常好,在處理連結的的方式上nginx支持epoll。
【 micro_httpd - really small HTTP server】
特點:
* 支持安全的 .. 上級目錄過濾
* 支持通用的MIME類型
* 支持簡單的目錄
* 支持目錄列表
* 支持使用 index.html 作為首頁
* Trailing-slash redirection
*程式總共代碼才200多行
這個httpd適合學習簡單的Web Server編寫學習,因為它只有一個簡單的框架,只能夠處理簡單的靜態頁,可以考慮用來放靜態頁。
【 mini_httpd - small HTTP server
特點:
* 支持GET、HEAD、POST方法
* 支持CGI功能
* 支持基本的驗證功能
* 支持安全 .. 上級目錄功能
* 支持通用的MIME類型
* 支持目錄列表功能
* 支持使用 index.html,index.htm,index.cgi 作為首頁
* 支持多個根目錄的虛擬主機
* 支持標準日誌記錄
* 支持自定義錯誤頁
* Trailing-slash redirection
mini_httpd 也是相對比較適合學習使用,大體實現了一個Web Server的功能,支持靜態頁和CGI,能夠用來放置一些個人簡單的東西,不適宜投入生產使用。
【 thttpd - tiny/turbo/throttling HTTP server 】
thttpd中是一個簡單,小型,輕便,快速和安全的http伺服器.
簡單:它能夠支持HTTP/1.1協定標準,或者超過了最低水平
小巧:它具有非常少的運行時間,因為它不fork子進程來接受新請求,並且非常謹慎的分配記憶體。
便攜:它能夠在大部分的類Unix系統上運行,包括FreeBSD,SunOS 4,Solaris 2,BSD/OS,Linux,OSF等等
快速:它的速度要超過主流的Web伺服器(Apache,NCSA,Netscape),在高負載情況下,它要快的多
安全:它努力的保護主機不受到攻擊,不中斷伺服器
thttpd 類似於lighttpd,對於並發請求不使用fork()來派生子進程處理,而是採用多路復用(Multiplex)技術來實現。因此效能很好。同時它還有一個特點就是基於URL的檔案流量限制,這對於下載的流量控制而言是非常方便的。象Apache就必須使用外掛程式實現,效率較thttpd低。

配置

如何設定默認文檔;在同一台伺服器上架設多個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

安全

設定策略

盜用賬號、緩衝區溢出以及執行任意命令是Web伺服器比較常見的安全漏洞。黑客攻擊、蠕蟲病毒以及木馬是網際網路比較常見的安全漏洞。口令攻擊、拒絕服務攻擊以及IP欺騙是黑客攻擊比較常見的類型。隨著網路技術的不斷發展,Web伺服器面臨著許多安全威脅,直接影響到Web伺服器的安全。因此,加強Web伺服器的安全防護是一項迫切需要的解決的時代課題。筆者結合多年的工作實踐,認為可從以下3個方面入手來加強Web伺服器的安全防護。
第一,加強Web伺服器的安全設定。
Linux為操作平台的Web伺服器的安全設定策略,能夠有效降低伺服器的安全隱患,以確保Web伺服器的安全性,主要包括:登錄有戶名與密碼的安全設定、系統口令的安全設定、BIOS的安全設定、使用SSL通信協定、命令存儲的修改設定、隱藏系統信息、啟用日誌記錄功能以及設定Web伺服器有關目錄的許可權等[3]。
第二,加強網際網路的安全防範。
Web伺服器需要對外提供服務,它既有域名又有公網的網址,顯然存在一些安全隱患。所以,可給予Web伺服器分配私有的地址,並且運用防火牆來做NAT可將其進行隱藏;同時因為一些攻擊來源於區域網路的攻擊,比如把區域網路計算機和Web伺服器存放在相同的區域網路之內,則在一定程度上會增加很多安全隱患,所以必須把它劃分為不同的虛擬區域網路,運用防火牆的地址轉換來提供相互間的訪問,這樣就大大提高了Web伺服器的安全性和可靠性;把Web伺服器連線至防火牆的DMZ連線埠,將不適宜對外公布的重要信息的伺服器放於內部網路,進而在提供對外的服務的同時,可以最大限度地保護好內部網路[4]。
第三,網路管理員要不斷加強網路日常安全的維護與管理。
要對管理員用戶名與密碼定期修改;要對Web伺服器系統的新增用戶情況進行定時核對,並且需要認真仔細了解網路用戶的各種功能;要及時給予更新Web伺服器系統的防毒軟體以及病毒庫,必要時可針對比較特殊的病毒給予安裝專門防毒的程式,同時要定期查殺Web伺服器的系統病毒,定期查看CPU的正常工作使用狀態、後台工作進程以及應用程式,假若發現異常情況需要及時給予妥當處理[5];因為很多木馬與病毒均是運用系統漏洞來進行攻擊的,所以需要不斷自動更新Web伺服器系統,以及定期掃描Web伺服器系統的漏洞。
Web伺服器已經成為了病毒、木馬的重災區。不但企業的入口網站被篡改、資料被竊取,而且還成為了病毒與木馬的傳播者。有些Web管理員採取了一些措施,雖然可以保證入口網站的主頁不被篡改,但是卻很難避免自己的網站被當作肉雞,來傳播病毒、惡意外掛程式、木馬等等。這很大一部分原因是管理員在Web安全防護上太被動。他們只是被動的防禦。為了徹底提高Web伺服器的安全,Web安全要主動出擊。

漏洞測試

企業網站做的越來越複雜、功能越來越強。不過這些都不是憑空而來的,是通過代碼堆積起來的。如果這個代碼只供企業內部使用,那么不會帶來多大的安全隱患。但是如果放在網際網路上使用的話,則這些為實現特定功能的代碼就有可能成為攻擊者的目標。天眼舉一個簡單的例子。在網頁中可以嵌入SQL代碼。而攻擊者就可以利用這些SQL代碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。有時候訪問某些網站還需要有某些特定的控制項。用戶在安裝這些控制項時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。
為此在為網站某個特定功能編寫代碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。天眼在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。已知的病毒、木馬不能夠在你所開發的外掛程式中有機可乘。通過這層層把關,就可以提高代碼編寫的安全性。

持續監控

冰凍三尺、非一日之寒。這就好像人生病一樣,都有一個過程。病毒、木馬等等在攻擊Web伺服器時,也需要一個過程。或者說,在攻擊取得成功之前,他們會有一些試探性的動作。如對於一個採取了一定安全措施的Web伺服器,從攻擊開始到取得成果,至少要有半天的時間。如果Web管理員對伺服器進行了全天候的監控。在發現有異常行為時,及早的採取措施,將病毒與木馬阻擋在門戶之外。這種主動出擊的方式,就可以大大的提高Web伺服器的安全性。
維護的Web伺服器有好幾十個。專門有一個小組,來全天候的監控伺服器的訪問。平均每分鐘都可以監測到一些試探性的攻擊行為。其中99%以上的攻擊行為,由於伺服器已經採取了對應的安全措施,都無功而返。不過每天仍然會遇到一些攻擊行為。這些攻擊行為可能是針對新的漏洞,或者採取了新的攻擊方式。在伺服器上原先沒有採取對應的安全措施。如果沒有及時的發現這種行為,那么他們就很有可能最終實現他們的非法目的。相反,及早的發現了他們的攻擊手段,那么我們就可以在他們採取進一步行動之前,就在伺服器上關掉這扇門,補上這個漏洞。
在這裡也建議,企業用戶在選擇網際網路Web伺服器提供商的時候,除了考慮性能等因素之外,還要評估服務提供商能否提供全天候的監控機制。在Web安全上主動出擊,及時發現攻擊者的攻擊行為。在他們採取進一步攻擊措施之前,就他們消除在萌芽狀態。

設定蜜罐

在軍隊中,有時候會給軍人一些“偽裝”,讓敵人分不清真偽。其實在跟病毒、木馬打交道時,本身就是一場無硝煙的戰爭。為此對於Web伺服器採取一些偽裝,也能夠將攻擊者引向錯誤的方向。等到供給者發現自己的目標錯誤時,管理員已經鎖定了攻擊者,從而可以及早的採取相應的措施。天眼有時候將這種主動出擊的行為叫做蜜罐效應。簡單的說,就是設定兩個伺服器。其中一個是真正的伺服器,另外一個是蜜罐。需要做的是,如何將真正的伺服器偽裝起來,而將蜜罐推向公眾。讓攻擊者認為蜜罐伺服器才是真正的伺服器。要做到這一點的話,可能需要從如下幾個方面出發。
一是有真有假,難以區分。如果要瞞過攻擊者的眼睛,那么蜜罐伺服器就不能夠做的太假。天眼在做蜜罐伺服器的時候,80%以上的內容都是跟真的伺服器相同的。只有一些比較機密的信息沒有放置在蜜罐伺服器上。而且蜜罐伺服器所採取的安全措施跟真的伺服器事完全相同的。這不但可以提高蜜罐伺服器的真實性,而且也可以用來評估真實伺服器的安全性。一舉兩得。
二是需要有意無意的將攻擊者引向蜜罐伺服器。攻擊者在判斷一個Web伺服器是否值得攻擊時,會進行評估。如評估這個網站的流量是否比較高。如果網站的流量不高,那么即使被攻破了,也沒有多大的實用價值。攻擊者如果沒有有利可圖的話,不會花這么大的精力在這個網站伺服器上面。如果要將攻擊者引向這個蜜罐伺服器的話,那么就需要提高這個蜜罐伺服器的訪問量。其實要做到這一點也非常的容易。有很多用來互動流量的團隊。只要花一點比較小的投資就可以做到這一點。
三是可以故意開一些後門讓攻擊者來鑽。作為Web伺服器的管理者,不僅關心自己的伺服器是否安全,還要知道自己的伺服器有沒有被人家盯上。或者說,有沒有被攻擊的價值。此時管理者就需要知道,自己的伺服器一天被攻擊了多少次。如果攻擊的頻率比較高,管理者就高興、又憂慮。高興的是自己的伺服器價值還蠻大的,被這么多人惦記著。憂慮的是自己的伺服器成為了眾人攻擊的目標。就應該抽取更多的力量來關注伺服器的安全。

攻防測試

俗話說,靠人不如靠自己。在Web伺服器的攻防戰上,這一個原則也適用。天眼建議,如果企業對於Web服務的安全比較高,如網站伺服器上有電子商務交易平台,此時最好設定一個專業的團隊。他們充當攻擊者的角色,對伺服器進行安全性的測試。這個專業團隊主要執行如下幾個任務。
一是測試Web管理團隊對攻擊行為的反應速度。如可以採用一些現在比較流行的攻擊手段,對自己的Web伺服器發動攻擊。當然這個時間是隨機的。預先Web管理團隊並不知道。要評估的是,Web管理團隊在多少時間之內能夠發現這種攻擊的行為。這也是考驗管理團隊全天候跟蹤的能力。一般來說,這個時間越短越好。應該將這個時間控制在可控的範圍之內。即使攻擊最後沒有成功,Web管理團隊也應該及早的發現攻擊的行為。畢竟有沒有發現、與最終有沒有取得成功,是兩個不同的概念。
二是要測試伺服器的漏洞是否有補上。畢竟大部分的攻擊行為,都是針對伺服器現有的漏洞所產生的。這個專業團隊要做的就是,這些已發現的漏洞是否都已經打上了安全補丁或者採取了對應的安全措施。有時候我們都沒有發現的漏洞是無能為力,但是對於這些已經存在的漏洞不能夠放過。否則的話,也太便宜那些攻擊者了。

宕機診斷方法

步驟1:發生了什麼事

系統管理員必須肩負起分析和判斷Web伺服器宕機原因的責任。需要解決如下的問題:
  • 是否是斷電,發電機測試以及其他類似問題影響了整體物理環境?
  • 和Web伺服器的通信是否已經完全被阻斷,還是某些IP段依舊可以使用?
  • 是否還可以管理伺服器?
  • 日誌中是否有異常記錄?
這些只是少部分管理員們需要立即回答的問題,在深入診斷問題之前,先解決上述問題。

步驟2:最簡單的解決方案往往是最好的

有很多時候會陷入診斷高級問題的誤區,分析各種可能的技術問題和疑難雜症。而實際上,退一步想,從巨觀角度思考問題,可能解決已花費無數工時和成本卻還未攻克的技術難題。例如,主機通電了嗎,或者是否有人無意間碰掉了電源線?如果機器確實已經通電,但沒有任何網路連線,需要檢查網線或者光纖是否沒有接上或者鬆動。是的,這些看似明顯低級錯誤的解決方法,認為都不可能發生,但任何有經驗的系統管理員會告訴你,這些狀況的發生頻率遠比想的要多的多。

步驟3:基本故障處理方法沒有效果怎么辦

現在已經檢查了所有電纜和其他外圍設備,可以試著使用ping命令探測設備狀況。幸運的是,ping命令是所有平台通用的,也是最簡單的。如果可以在區域網路內ping通伺服器,接著可以試試從區域網路外ping伺服器進行檢測。這樣做可以迅速判斷問題是否產生在交換和路由層面,而不是伺服器級別。此外,如果Web伺服器已經虛擬化,試著ping物理伺服器自己的真實IP。這樣可以幫助進一步隔離問題。如果完全無法ping同伺服器,而且也已經確定完全檢查了網路連線,那么就需要進行更深入的分析了。

步驟4:使盡渾身解數,伺服器依然宕機

已經檢查過網線。也試過了ping伺服器,依舊無法訪問伺服器。好訊息是,已經可以將問題定位到物理伺服器或作業系統本身了。換句話說,已經可以開始集中經理對現存的問題進行排查。
接下來,才去從底層到高層的方式來逐層檢查問題,首先檢查網路接口和本地網路配置是否正常。DHCP是否啟動?Web伺服器是否指向正確的DNS伺服器?如果是這樣,可以根據使用的作業系統平台,檢查Web服務是否正常開啟。在Windows環境,需要檢查伺服器是否具有Web服務的角色。在Linux環境下,檢查會更複雜,可以試試查找http相關的檔案或服務來確保伺服器是否正在運行。

步驟5:絕境下需要動用絕招

如果以上方法都不奏效,檢查日誌並嘗試查明在Web伺服器宕機時日誌中記錄的那些信息。將這些信息發給在故障處理和解決領域更有經驗的專業人士,可能會獲得更多的幫助。同樣的,如果已經確認網路連線不是問題,就可以使用Wireshark抓包工具對網路中傳輸的數據進行抓取分析,以此協助處理問題。
總而言之,伺服器宕機的原因多種多樣。斷電、配置錯誤、防火牆設定錯誤、甚至是來自網際網路的惡意流量,都可能引發源站宕機並讓系統管理員們抓狂。所有這些問題都足以讓企業決策者對冗餘解決方案的設計和實施加以重視,同樣的針對故障處理流程的設計和制定,還需要根據企業自身網路的實際情況為依據。

選購指南

在這個電商已經普及的時代,一個企業,不管大小總是都需要有一個網站,在網路上宣傳自己的品牌。這跟90年代你開了公司一定要有一個辦公室是一個道理了。而且更多的企業選擇電子商務。作為網站建設的基礎,伺服器租用也成為必須要考慮的事情。
伺服器租用選擇的成功與否,可以說在一定程度上直接影響著網站建設的成功與否。這不論是對大企業,還是中小企業建網站都是一樣的。
但實際,很多中小企業在建設網站,並選擇伺服器作為其信息化基礎工具時,則出現一些不正確的做法:如為了節省資金,便隨便租用或購買一台伺服器。結果由於伺服器性能低下導致信息系統經常出問題。最終不但沒有幫助企業傳播信息,提升品牌,反而因系統不穩定,給企業帶來負面影響。
因此,擁有一款穩定、良好的伺服器無疑是企業最基本的選擇。那么,企業又該如何選擇優秀的伺服器呢。我這裡想說下幾點。
第一、資質是最基本的,一定要有齊全的IDC服務商資質。如果沒有,不管是多好的伺服器,都不要購買。連企業真假都不能確定的事情,你如何保證他的產品呢?
第二、對於中小企業不建議租用一線城市機房的伺服器,原因很簡單。像北京上海這種一線機房,都是寸土寸金,伺服器好不好先不說,但是光機房的成本就比二線、三線城市的要高得多。這費用當然要算到企業的頭上。而且二線、三線城市的機房其實是一樣的,但是它的成本要低得多。同樣的產品,為什麼不選價格低的呢?
第三、一定要考慮清楚你需要什麼伺服器?比如說品牌、配置,或者說是需要伺服器租用、伺服器託管還是伺服器合租等等。這些都需要根據自身企業的需求來確定。如果自己不清楚,可以選擇諮詢IDC服務商,不放心的話可以在網上問相關的專業人士。

發展趨勢

Web伺服器的發展有三個主要趨勢:

從HTML到XML

標準通用標記語言的子集可擴展標記語言(eXtensible Markup Language)
標準通用標記語言的子集HTML被稱為“第一代Web語言”,如前面的介紹,HTML作為Web的開發語言,對Web套用的發展起到了關鍵性的作用。但是HTML有一個致命的缺點:只適合於人與計算機的交流,不適合計算機與計算機的交流。HTML通過大量的標記來定義文檔內容的表現方式,它僅僅描述了應如何在Web瀏覽器頁面上布置文字、圖形,並沒有對Internet的信息含義本身進行描述,而信息又是Web套用中最重要的內容。通過HTML表現出來的文字、圖形內容很容易被人理解,但卻不利於電腦程式去理解。另外,HTML的另一個問題就是它的標記集合是固定的,用戶不能根據自己的需要增加標記;而且各種瀏覽器的規格不盡相同,要使我們用HTML做的網頁能夠被所有瀏覽器正常顯示,我們只能夠使用W3C(全球資訊網協會)規定的標記來創建網頁。
正如前面所說,Web伺服器向Web瀏覽器提供的信息都是來自有一定結構的資料庫,在資料庫里,為了檢索和管理的方便,信息按照它本身的意義(如姓名、年齡、工作單位等)被存放在相應的欄位里,一旦這些數據被調出來,經過CGI、ASP、JSP、PHP等轉換成HTML後,其原來的意義無法轉移到HTML標記中來,用戶也就無法按照信息本來的意義去閱讀。並且,由於作業系統以及資料庫的不同,不同的系統及套用層面之間要想互相理解對方的數據格式是相當困難的。這就需要一種新技術或標準能夠將最初保存在資料庫伺服器中的原始數據結構在不同的系統層面共享。這種新技術就是XML。
使用XML可以解決上述的難題。W3C對XML作了如下描述:“XML描述了一類被稱為XML文檔的數據對象,並部分描述了處理它們的電腦程式的行為。XML是標準通用標記語言的一個套用實例。從結構上說,XML文檔遵從標準通用標記語言文檔標準。”同HTML一樣,XML也是一種基於文本的標記語言,都是從標準通用標記語言發展而來,二者的不同在於:XML可以讓我們根據要表現的文檔,自由地定義標記來表現具有實際意義的文檔內容,例如,我們可以定義〈文檔名稱〉〈/文檔名稱〉這樣具有實際意義的標記。而且XML不像HTML那樣具有固定的標記集合,它實際上是一種定義語言的語言,也就是說使用XML的用戶可以定義無窮的標記來描述文檔中的任何數據元素,將文檔的內容組織成豐富的完整的信息體系。總起來說,XML具有四大特點:便於存儲的數據格式、可擴展性、高度結構化以及方便的網路傳輸,這些特點為我們創建開放、高效、可擴展、個性化的Web套用提供了一個嶄新的起點。

從有線到無線

電子商務正在從台式機向著更為廣泛的無線設備發展,Cahners In-Stat市場分析家預測,世界範圍內的無線用戶的人數將會從2000年的2.71億增加到2004年的13億。Aberdeen集團的研究主任Darcy Fowkes認為,採用無線方式進行電子商務的優勢並不僅僅在於方便,它還可以節約公司的財力,而且,移動辦公能使工作更加高效。
然而,由於多種無線網路類型、標記語言、協定和無線設備並存的複雜情況,使得網路內容和數據轉換成能夠被無線設備所識別的格式並不容易。許多企業都在致力於開發能夠把應用程式以及網際網路內容擴展到無線設備上的產品。
例如,IBM新版本的WebSphere Transcoding Publisher 3.5增加和改進了許多新的特性,可以將企業內部網上的數據翻譯到多種無線設備上。該版本中新的特性包括對更多的無線設備、數據格式的支持,以及語言翻譯功能。它基於Java架構,能把用HTML和XML等標記語言編寫的應用程式和數據轉換成WML、HDML(Handheld Device Markup Language)和iMode等無線設備所能識別的格式,這樣,通過手持設備就可以訪問網際網路上的信息。
無線設備廠商Mobilize也推出了Mobilize Commerce產品,幫助企業進入無線網路。該軟體可以通過無線連線的方式訪問企業的內部系統,遠程地實現訂單傳送,並進行確認。Mobilize Commerce可以充分利用XML對信息進行格式轉換,以適合於無線設備,這些無線設備包括筆記本電腦、個人數字助理、無線電話、網路電話和雙向尋呼等。

從無聲到有聲

世界上有十億個電話終端,有超過2億的行動電話。而就人自身的交流習慣來看,人們也更願意利用聽和說的口頭的方式進行交流。
文本語音轉換器(TTS,Text to Speech)的研究工作已經取得了很大的進步,實現了自動的語言分析理解,並允許TTS的使用者增加更多的韻律、音調在講話中,使TTS系統的發聲更接近人聲。在自動語音識別系統(ASR)領域裡,自動語音識別系統在從整個詞的模仿匹配,向音素層次的識別系統方向發展。自動語音識別系統的辭彙表由一個基於聲音片斷的字母表構成,而且這種辭彙表是受不同語言限制的。基於這種方式,在一個寬廣的聲音行列里,講話能被識別系統發現和挑揀出來,並加以識別。並且,在識別一個詞的時候,每一個音素將從系統的輸入中挑揀出來,拼接組合後與已經有的音素和詞語模板進行比較,來產生需要的模板。音素的識別大大減輕了ASR對講話者的依賴性,並且使得它非常容易去建立大型的和容易修改的語音識別字典,從而滿足不同套用市場的需求。
Web語音發展的另一方面是VoiceXML(Voice Extensible Markup Language-語音可擴展標記語言)的進展。VoiceXML的主要目標是要將Web上已有的大量套用、豐富的內容,讓互動式語音界面也能夠全部享受。Web伺服器處理一個來自客戶端套用的請求,這一請求經過了VoiceXML解釋程式和VoiceXML解釋程式語境處理,作為回響,伺服器產生出VoiceXML檔案,在回復當中,要經過VoiceXML解釋程式的處理。VoiceXML 1.0規範基於XML,為語音和電話套用的開發者、服務提供商和設備製造商提供了一個智慧型化的API。VoiceXML的標準化將簡化Web上具有語音回響服務的個性化界面的創建,使人們能夠通過語音和電話訪問網站上的信息和服務,像今天通過CGI腳本一樣檢索中心資料庫,訪問企業內部網,製造新的語音訪問設備。VoiceXML的執行平台上面載入了相應的軟體和硬體,例如,ASR、TTS,從而實現語音的識別以及文本和語音之間的轉化。2000年5月23日,W3C接受了語音可擴展標記語言VoiceXML 1.0作為實例。
IBM、Nokia、Lucent、Motorola等著名廠商都已經開發出相應支持VoiceXML的產品,ASR和TTS系統大多還不能支持中文。

相關詞條

熱門詞條

聯絡我們