apache 配置安装ssl证书实现https安全访问全过程
MXVCu"g% R
"W=V 安装证书(贴上未来智库站配置ssl的代码内容),官方的配置复杂且不具有通用性。
-b%' K}.C 1.#修改httpd.conf文件
<O9WCl LoadModule ssl_module modules/mod_ssl.so
Qm3RXO .Xta;Py|J Include conf/extra/httpd-ssl.conf
IL8&MA% ohXbA9&(x #去掉上面两行前的"#"
@ceL9#:uc 0/+TQD!L P`hg*"<V 2.打开extra目录下的httpd-ahssl.conf文件
wW/wvC- 将下载的证书四个文件放置在conf下的ssl目录。
T7G{)wm httpd-ahssl.conf添加如下代码
AK;G_L p t{/|P Listen 443 https
wCr+/"t <VirtualHost _default_:443>
Jxb+NPUB SSLEngine on
WAw} ?&k ServerName
www.7428.cn:443 Q5v_^O<! SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
@6DV?VL SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
x: Tm4V{ php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
/Big^^u DocumentRoot "${SRVROOT}/htdocs/www7428cn"
|
\JB/x ErrorDocument 404 "/404/"
?<$DQ%bf # DocumentRoot access handled globally in httpd.conf
b_0Xi # CustomLog "${SRVROOT}/logs/ssl_request.log" \
"^iw {]~U # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
ddjaM/.E <Directory "${SRVROOT}/htdocs/7428cnwww">
hbdM}"&] # Options Indexes Includes FollowSymLinks
l<nL8/5{< Options Includes FollowSymLinks
RV:%^=V- AllowOverride AuthConfig Limit FileInfo
/v:+
vh*mS Require all granted
h|1 /Q
( </Directory>
P\CT|K'P </virtualhost>
i~6qOlLD- <VirtualHost _default_:443>
FCEFg)c5= SSLEngine on
(a i&v ServerName 7428.cn:443
#Hr>KQ5mJQ SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
<OEu 4,~: SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
.pOTIRbA <IfModule rewrite_module>
*1KrI9i RewriteEngine On
3X&}{M:Qo RewriteCond %{http_host} ^7428.cn [NC]
{\L /?# RewriteRule ^(.*)$
https://www.7428.cn/$1 [L,R=301]
[huS"1 </IfModule>
-q BrJ1* php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
~%QVjzMC DocumentRoot "${SRVROOT}/htdocs/www7428cn"
X99:/3MXB' ErrorDocument 404 "/404/"
hp]T ^ # DocumentRoot access handled globally in httpd.conf
Lh6G"f(n # CustomLog "${SRVROOT}/logs/ssl_request.log" \
M3350 # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
geL)v7t+# <Directory "${SRVROOT}/htdocs/www7428cn">
Bg*Oj)NM # Options Indexes Includes FollowSymLinks
#]'#\d#i Options Includes FollowSymLinks
HgP9evz,0 AllowOverride AuthConfig Limit FileInfo
O<Rm9tZ8 Require all granted
y1!c:& </Directory>
GQOz\ic </virtualhost>
%:2<'s2Si 保存后重启apache
eDR4c% 其中的php_admin_value open_basedir两行代码作用是防止同一个服务器下其他域名站跨站访问。安全至上。
X|)Ox
,( ErrorDocument 是配置找不到页面的时候跳转的404页面信息。
GpV"KVJJ/ <IfModule rewrite_module>里面的内容是实现
https://7428.cn重定向到
https://www.7428.cn,即不带www的跳转到
}u0t i"V &y/ 带www的下。
#y }{ 'rF? pJ7M.C! s)ymm7? 2?hc94 官方文件说明:
B:om61Dn 1. 证书文件214329625123456.pem,包含两段内容,请不要删除任何一段内容。
-NW7ncB| 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214329625123456.key、证书公钥文件public.pem、证书链文件chain.pem。
,*SoV~ ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214329625123456.key;
,C%fA>?UF8 ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
OTs vox|( #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
O`_!G`E #Include conf/extra/httpd-ssl.conf
@~v|t{G ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
al<[iZ # 添加 SSL 协议支持协议,去掉不安全的协议
,2\?kPoc8 SSLProtocol all -SSLv2 -SSLv3
>CtT_yhx # 修改加密套件如下
?-mDvW SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
`NqX{26GV+ SSLHonorCipherOrder on
xxWrSl`fB # 证书公钥配置
0'T*l2Z`2 SSLCertificateFile cert/public.pem
VhdMKq~` # 证书私钥配置
Ig9yd S-. SSLCertificateKeyFile cert/214486743260863.key
y5;l?v94 # 证书链配置,如果该属性开头有 '#'字符,请删除掉
i[obQx S94 SSLCertificateChainFile cert/chain.pem
bvZTB<rA ( 4 ) 重启 Apache。
%Z|]"=;6 ---------------------
WVaIC $Y 作者:my0592
/">A3bq