Ⅰ linux伺服器ssl怎麼配置證書
一、安裝SSL准備
1.安裝Openssl
要使Apache支持SSL,需要首先安裝Openssl支持。Openssl下載地址http://www.openssl.org/source/
2.安裝Apache
二、申請SSL證書
去沃通CA的官網www.wosign.com去申請一張EV SSL證書。
三、安裝SSL證書
四、測試安裝結果
訪問https://+證書綁定的域名,測試效果如下
更多關於Apache部署SSL證書相關問題請查看SSL證書部署指南網頁鏈接或者在線咨詢沃通CA SSL證書部署技術支持,也可移步沃通SSL證書論壇提交問題。
Ⅱ 如何在linux下安裝ssl證書
安裝SSL證書 1.修改apache下的httpd.conf文件。
Ⅲ 設備驅動和OS的關系
操作系統的目的之一就是將系統硬體設備細節從用戶視線中隱藏起來。例如虛擬文件系統對各種類型已安裝的文件系統提供了統一的視圖而屏蔽了具體底層細節。本章將描敘Linux核心對系統中物理設備的管理。
CPU並不是系統中唯一的智能設備,每個物理設備都擁有自己的控制器。鍵盤、滑鼠和串列口由一個高級I/O晶元統一管理,IDE控制器控制IDE硬碟而SCSI控制器控制SCSI硬碟等等。每個硬體控制器都有各自的控制和狀態寄存器(CSR)並且各不相同。例如Adaptec 2940 SCSI控制器的CSR與NCR 810 SCSI控制器完全不一樣。這些CSR被用來啟動和停止,初始化設備及對設備進行診斷。在Linux中管理硬體設備控制器的代碼並沒有放置在每個應用程序中而是由內核統一管理。這些處理和管理硬體控制器的軟體就是設備驅動。Linux核心設備驅動是一組運行在特權級上的內存駐留底層硬體處理共享庫。正是它們負責管理各個設備。
設備驅動的一個基本特徵是設備處理的抽象概念。所有硬體設備都被看成普通文件;可以通過和操縱普通文件相同的標准系統調用來打開、關閉、讀取和寫入設備。系統中每個設備都用一種特殊的設備相關文件來表示(device special file),例如系統中第一個IDE硬碟被表示成/dev/hda。塊(磁碟)設備和字元設備的設備相關文件可以通過mknod命令來創建,並使用主從設備號來描敘此設備。網路設備也用設備相關文件來表示,但Linux尋找和初始化網路設備時才建立這種文件。由同一個設備驅動控制的所有設備具有相同的主設備號。從設備號則被用來區分具有相同主設備號且由相同設備驅動控制的不同設備。 例如主IDE硬碟的每個分區的從設備號都不相同。如/dev/hda2表示主IDE硬碟的主設備號為3而從設備號為2。Linux通過使用主從設備號將包含在系統調用中的(如將一個文件系統mount到一個塊設備)設備相關文件映射到設備的設備驅動以及大量系統表格中,如字元設備表,chrdevs。
Linux支持三類硬體設備:字元、塊及網路設備。字元設備指那些無需緩沖直接讀寫的設備,如系統的串口設備/dev/cua0和/dev/cua1。塊設備則僅能以塊為單位讀寫,典型的塊大小為512或1024位元組。塊設備的存取是通過buffer cache來進行並且可以進行隨機訪問,即不管塊位於設備中何處都可以對其進行讀寫。塊設備可以通過其設備相關文件進行訪問,但更為平常的訪問方法是通過文件系統。只有塊設備才能支持可安裝文件系統。網路設備可以通過BSD套介面訪問,我們將在
網路
一章中討論網路子系統。
Linux核心中雖存在許多不同的設備驅動但它們具有一些共性:
核心代碼
設備驅動是核心的一部分,象核心中其它代碼一樣,出錯將導致系統的嚴重損傷。一個編寫奇差的設備驅動甚至能使系統崩潰並導致文件系統的破壞和數據丟失。
核心介面
設備驅動必須為Linux核心或者其從屬子系統提供一個標准介面。例如終端驅動為Linux核心提供了一個文件I/O介面而SCSI設備驅動為SCSI子系統提供了一個SCSI設備介面,同時此子系統為核心提供了文件I/O和buffer cache介面。
核心機制與服務
設備驅動可以使用標準的核心服務如內存分配、中斷發送和等待隊列等等。
動態可載入
多數Linux設備驅動可以在核心模塊發出載入請求時載入,同時在不再使用時卸載。這樣核心能有效地利用系統資源。
可配置
Linux設備驅動可以連接到核心中。當核心被編譯時,哪些核心被連入核心是可配置的。
動態性
當系統啟動及設備驅動初始化時將查找它所控制的硬體設備。如果某個設備的驅動為一個空過程並不會有什麼問題。此時此設備驅動僅僅是一個冗餘的程序,它除了會佔用少量系統內存外不會對系統造成什麼危害。
8.1 輪詢與中斷設備被執行某個命令時,如「將讀取磁頭移動到軟盤的第42扇區上」,設備驅動可以從輪詢方式和中斷方式中選擇一種以判斷設備是否已經完成此命令。
輪詢方式意味著需要經常讀取設備的狀態,一直到設備狀態表明請求已經完成為止。如果設備驅動被連接進入核心,這時使用輪詢方式將會帶來災難性後果:核心將在此過程中無所事事,直到設備完成此請求。但是輪詢設備驅動可以通過使用系統定時器,使核心周期性調用設備驅動中的某個常式來檢查設備狀態。 定時器過程可以檢查命令狀態及Linux軟盤驅動的工作情況。使用定時器是輪詢方式中最好的一種,但更有效的方法是使用中斷。
基於中斷的設備驅動會在它所控制的硬體設備需要服務時引發一個硬體中斷。如乙太網設備驅動從網路上接收到一個以太數據報時都將引起中斷。Linux核心需要將來自硬體設備的中斷傳遞到相應的設備驅動。這個過程由設備驅動向核心注冊其使用的中斷來協助完成。此中斷處理常式的地址和中斷號都將被記錄下來。在/proc/interrupts文件中你可以看到設備驅動所對應的中斷號及類型: 0: 727432 timer
1: 20534 keyboard
2: 0 cascade
3: 79691 + serial
4: 28258 + serial
5: 1 sound blaster
11: 20868 + aic7xxx
13: 1 math error
14: 247 + ide0
15: 170 + ide1
對中斷資源的請求在驅動初始化時就已經完成。作為IBM PC體系結構的遺產,系統中有些中斷已經固定。例如軟盤控制器總是使用中斷6。其它中斷,如PCI設備中斷,在啟動時進行動態分配。設備驅動必須在取得對此中斷的所有權之前找到它所控制設備的中斷號(IRQ)。Linux通過支持標準的PCI BIOS回調函數來確定系統中PCI設備的中斷信息,包括其IRQ號。
如何將中斷發送給CPU本身取決於體系結構,但是在多數體系結構中,中斷以一種特殊模式發送同時還將阻止系統中其它中斷的產生。設備驅動在其中斷處理過程中作的越少越好,這樣Linux核心將能很快的處理完中斷並返回中斷前的狀態中。為了在接收中斷時完成大量工作,設備驅動必須能夠使用核心的底層處理常式或者任務隊列來對以後需要調用的那些常式進行排隊。
8.2 直接內存訪問 (DMA)
數據量比較少時,使用中斷驅動設備驅動程序能順利地在硬體設備和內存之間交換數據。例如波特率為9600的modem可以每毫秒傳輸一個字元。如果硬體設備引起中斷和調用設備驅動中斷所消耗的中斷時延比較大(如2毫秒)則系統的綜合數據傳輸率會很低。則9600波特率modem的數據傳輸只能利用0.002%的CPU處理時間。高速設備如硬碟控制器或者乙太網設備數據傳輸率將更高。SCSI設備的數據傳輸率可達到每秒40M位元組。
直接內存存取(DMA)是解決此類問題的有效方法。DMA控制器可以在不受處理器干預的情況下在設備和系統內存之間高速傳輸數據。PC機的ISA DMA控制器有8個DMA通道,其中七個可以由設備驅動使用。每個DMA通道具有一個16位的地址寄存器和一個16位的記數寄存器。為了初始化數據傳輸,設備驅動將設置DMA通道地址和記數寄存器以描敘數據傳輸方向以及讀寫類型。然後通知設備可以在任何時候啟動DMA操作。傳輸結束時設備將中斷PC。在傳輸過程中CPU可以轉去執行其他任務。
設備驅動使用DMA時必須十分小心。首先DMA控制器沒有任何虛擬內存的概念,它只存取系統中的物理內存。同時用作DMA傳輸緩沖的內存空間必須是連續物理內存塊。這意味著不能在進程虛擬地址空間內直接使用DMA。但是你可以將進程的物理頁面加鎖以防止在DMA操作過程中被交換到交換設備上去。另外DMA控制器所存取物理內存有限。DMA通道地址寄存器代表DMA地址的高16位而頁面寄存器記錄的是其餘8位。所以DMA請求被限制到內存最低16M位元組中。
DMA通道是非常珍貴的資源,一共才有7個並且還不能夠在設備驅動間共享。與中斷一樣,設備驅動必須找到它應該使用那個DMA通道。有些設備使用固定的DMA通道。例如軟盤設備總使用DMA通道2。有時設備的DMA通道可以由跳線來設置,許多乙太網設備使用這種技術。設計靈活的設備將告訴系統它將使用哪個DMA通道,此時設備驅動僅需要從DMA通道中選取即可。
Linux通過dma_chan(每個DMA通道一個)數組來跟蹤DMA通道的使用情況。dma_chan結構中包含有兩個域,一個是指向此DMA通道擁有者的指針,另一個指示DMA通道是否已經被分配出去。當敲入cat /proc/dma列印出來的結果就是dma_chan結構數組。
8.3 內存設備驅動必須謹慎使用內存。由於它屬於核心,所以不能使用虛擬內存。系統接收到中斷信號時或調度底層任務隊列處理過程時,設備驅動將開始運行,而當前進程會發生改變。設備驅動不能依賴於任何運行的特定進程,即使當前是為該進程工作。與核心的其它部分一樣,設備驅動使用數據結構來描敘它所控制的設備。這些結構被設備驅動代碼以靜態方式分配,但會增大核心而引起空間的浪費。多數設備驅動使用核心中非頁面內存來存儲數據。
Linux為設備驅動提供了一組核心內存分配與回收過程。核心內存以2的次冪大小的塊來分配。如512或128位元組,此時即使設備驅動的需求小於這個數量也會分配這么多。所以設備驅動的內存分配請求可得到以塊大小為邊界的內存。這樣核心進行空閑塊組合更加容易。
請求分配核心內存時Linux需要完成許多額外的工作。如果系統中空閑內存數量較少,則可能需要丟棄些物理頁面或將其寫入交換設備。一般情況下Linux將掛起請求者並將此進程放置到等待隊列中直到系統中有足夠的物理內存為止。不是所有的設備驅動(或者真正的Linux核心代碼)都會經歷這個過程,所以如分配核心內存的請求不能立刻得到滿足,則此請求可能會失敗。如果設備驅動希望在此內存中進行DMA,那麼它必須將此內存設置為DMA使能的。這也是為什麼是Linux核心而不是設備驅動需要了解系統中的DMA使能內存的原因。
8.4 設備驅動與核心的介面Linux核心與設備驅動之間必須有一個以標准方式進行互操作的介面。每一類設備驅動:字元設備、塊設備 及網路設備都提供了通用介面以便在需要時為核心提供服務。這種通用介面使得核心可以以相同的方式來對待不同的設備及設備驅動。如SCSI和IDE硬碟的區別很大但Linux對它們使用相同的介面。
Linux動態性很強。每次Linux核心啟動時如遇到不同的物理設備將需要不同的物理設備驅動。Linux允許通過配置腳本在核心重建時將設備驅動包含在內。設備驅動在啟動初始化時可能會發現系統中根本沒有任何硬體需要控制。其它設備驅動可以在必要時作為核心模塊動態載入到。為了處理設備驅動的動態屬性,設備驅動在初始化時將其注冊到核心中去。Linux維護著已注冊設備驅動表作為和設備驅動的介面。這些表中包含支持此類設備常式的指針和相關信息。