Apache SSL伺服器配置SSL詳解

2021-07-22 04:43:26 字數 2567 閱讀 6052

1.安裝必要的軟體 

引用 我用的是apahce2.0.61版,可以直接官方提供的繫結openssl的apache. 

檔名是:apache_2.0.61-win32-x86-openssl-0.9.7m.msi 

否則單獨安裝windows下的openssl比較麻煩,要麼找到乙個第三方的編譯結果,要麼自己編譯 

2. 生成伺服器證書

引用 安裝好在bin目錄下有乙個 openssl.exe檔案,用來生成證書和金鑰。 

1). 生成伺服器用的私鑰檔案server.key 

進入conf目錄,執行命令列 

openssl genrsa -out server.key 1024 

有文件指出使用 openssl genrsa -des3 -out server.key 1024 生成私鑰檔案,這樣生成的私鑰檔案是需要口令的。 

apache啟動失敗,錯誤提示是:init: sslpassphrasedialog builtin is not supported on win32 (key file .....) 

原因是window下的apache不支援加密的私鑰檔案。 

2). 生成未簽署的server.csr 

進入conf目錄,執行命令列 

openssl req -new -key server.key -out server.csr -config openssl.cnf 

提示輸入一系列的引數, 

...... 

country name (2 letter code) [au]: 

state or province name (full name) [some-state]: 

locality name (eg, city) : 

organization name (eg, company) [internet widgits pty ltd]: 

organizational unit name (eg, section) : 

common name (eg, your name) : 

email address : 

..... 

注:common name必須和httpd.conf中server name必須一致,否則apache不能啟動 

啟動apache時錯誤提示為:rsa server certificate commonname (cn) `koda' does not match server name!? 

3). 簽署伺服器證書檔案server.crt 

進入conf目錄,執行命令列 

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

以上簽署證書僅僅做測試用,真正執行的時候,應該將csr傳送到乙個ca返回真正的用書.網上有些文件描述生成證書檔案的過程比較繁瑣,就是因為 

他們自己建立了乙個ca中心證書,然後再簽署server.csr. 

用openssl x509 -noout -text -in server.crt可以檢視證書的內容。證書實際上包含了public key. 

3. 配置httpd.conf. 

引用 在conf目錄下的ssl.conf檔案是關於ssl的配置,是httpd.conf的一部分。 

找到乙個443的虛擬主機配置項,如下: 

sslengine on 

sslcertificatefile conf/ssl.crt/server.crt 

sslcertificatekeyfile conf/ssl.key/server.key 

#sslcertificatechainfile conf/ssl.crt/ca.crt // 暫未啟用 

#...... 

documentroot "c:/programs/apache2/htdocs" 

servername www.my.com:443 

1). 看sslcertificatefile,sslcertificatekeyfile兩個配置項,所以應該在conf下建立兩個子目錄ssl.crt, ssl.key,然後把簽署過的證書檔案(.crt)和私鑰檔案(.key)放在相應的目錄 

2). 看documentroot,servername配置項,servername修改為任意你想要得網域名稱,注意:前面生成.csr時輸入的common name必須於這裡的servername項一致。 

這樣啟動apache後,訪問將訪問c:/programs/apache2/htdocs目錄下的內容。 

但是如果你想保留其他目錄的訪問仍然是http,那麼你應該把 

也改為

此時,即便servername是任意的,系統仍然正常執行,僅僅apache log提示"does not match server name" 

3). 移除注釋行 

loadmodule ssl_module modules/mod_ssl.so 

注意到ssl.conf的配置都在標籤中,所以為了使ifdefine 指令有效,執行apache 的時候要加上 -d ssl 引數。 

引用 apache -d ssl -k start

配置伺服器

今天我們的程式要配置一台新的伺服器 我把程式整理一下放了上去,程式上傳完成了準備配置程式了 程式是分三部分的,乙個是web的程式是用asp寫的,乙個是flash部分,還有就是c 服務部分了,asp和flash都沒有什麼大的問題,首先我準備開起服務,因為服務要驗證的。通過訪問個web位址驗證的,當時也...

伺服器配置

1.安裝 cuda 8.0 直接官網安裝即可,cuda 8.0 中自帶 gpu driver.所以不用提前裝 driver.注意安裝 cuda 8.0 時,不要裝 xconfigure,opengl。在網上看到據說什麼用。裝 cudnn,比較簡單。貌似得下 linux 版本,而不用選 ubuntu ...

伺服器配置

context dobase web應用的檔案路徑 path url入口 server整個servlet容器組合,可以包含多個 service 它由乙個或者多個connector組成 以及乙個engine,負責處理所有connector所獲得的客戶請求 connector 客戶端與程式互動的元件,負...