溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Apache配置HTTPS功能

發(fā)布時間:2020-07-26 17:51:24 來源:網(wǎng)絡(luò) 閱讀:3205 作者:yzy121403725 欄目:開發(fā)技術(shù)

apache配置https

一、yum 安裝openssl和openssl-devel,httpd-devel二、生成證書(也可以從公司的證書頒發(fā)機(jī)構(gòu)獲取):
#建立服務(wù)器密鑰  openssl genrsa -des3 1024  > /usr/local/apache/conf/server.key   
# 從密鑰中刪除密碼(以避免系統(tǒng)啟動后被詢問口令) openssl rsa -in /usr/local/apache/conf/server.key > /usr/local/apache/conf/server2.key
mv /usr/local/apache/conf/server2.key  /usr/local/apache/conf/server.key#建立服務(wù)器密鑰請求文件openssl req -new -key /usr/local/apache/conf/server.key -out /usr/local/apache/conf/server.csr5>openssl x509 -in /usr/local/apache/conf/server.csr -out# 建立服務(wù)器證書  /usr/local/apache/conf/server.crt -req -signkey /usr/local/apache/conf/server.key -days 365
三、修改Apache的配置文件httpd.conf

打開ssl模塊,沒有這個模塊就需要安裝依賴包:mod_ssl,安裝后就會在modules里面找到:

LoadModule ssl_module         modules/mod_ssl.so

引入ssl配置文件,增加支持ssl:

Include conf/extra/httpd-ssl.conf(去掉行首的注釋)
  • 啟動重定向(可選),使用用戶HTTP訪問自動重定向為HTTPS,直接在http.conf最后配置即可,在httpd.conf文件尾加入如下內(nèi)容:

    RewriteEngine onRewriteCond %{SERVER_PORT} !^443$RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
四、修改加密文件ssl.conf,通過yum安裝好的httpd,在conf.d目錄下面有ssl.conf配置文件,我們需要在里面配置一個VirtualHost和配置證書和密鑰:
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog  builtin
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300
SSLMutex defaultSSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL

<VirtualHost _default_:443>     # 必須有一個虛擬主機(jī),這樣才可以使用跳轉(zhuǎn)功能和使用443端口訪問
DocumentRoot "/home/store/webroot"Servername https://xxx.com/
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine onSSLCertificateFile /etc/httpd/conf/cert/xxx.com.crt
SSLCertificateKeyFile /etc/httpd/conf/cert/xxx.com.key</VirtualHost>
五、重啟Apache

service httpd restart

  1. 在瀏覽器輸入https://域名 或者 域名:443,如果兩個能正常訪問,表示https已經(jīng)配置成功。

  2. 在瀏覽器輸入 域名,如果能夠正常跳轉(zhuǎn)到https連接上,那說明跳轉(zhuǎn)功能正常。

  • 啟動apache 碰到下面問題:

    Invalid command 'SSLPassPhraseDialog', perhaps misspelled or defined by a module not included in the server configuration

    到apache的bin 目錄下面執(zhí)行 ./httpd -l 看看有沒有mode_ssl.c,這個錯誤說明ssl模塊安裝沒有成功。
    解決辦法:

  • 1、重新編譯apache,加上--enable-ssl --with-ssl參數(shù)

  • 2、把ssl模塊加入到已經(jīng)編譯好的apache中
    首先,使用 whereis openssl 命令獲取lib和include的路徑

[root@robot /usr/local/apache/modules]# whereis opensslopenssl: /usr/bin/openssl /usr/lib/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz

然后 在apache 源碼的modules/ssl文件夾下,使用命令/usr/sbin/apxs -i -a -D HAVE_OPENSSL=1 -I/usr/include/openssl/ -L/usr/lib/openssl/ -c *.c -lcrypto -lssl -ldl(apxs需要安裝http-devel才有,雖然如此,我還是沒有編譯成功,于是就在其他已經(jīng)編譯了這個模塊的機(jī)器上拷貝mod_ssl.so到apache模塊目錄/usr/local/apache/modules)


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI