apache 配置安装ssl证书实现https安全访问全过程
LnS>3$t* Z"X*FzFo 安装证书(贴上未来智库站配置ssl的代码内容),官方的配置复杂且不具有通用性。
u(702S4 1.#修改httpd.conf文件
Z;D3lbqE LoadModule ssl_module modules/mod_ssl.so
D5u"4\g<& ^~ $& Include conf/extra/httpd-ssl.conf
\*aLyyy3 ^1=|(Z/ #去掉上面两行前的"#"
+z0}{,HX f*{;\n(.t % T \N@ 2.打开extra目录下的httpd-ahssl.conf文件
z/k~+-6O 将下载的证书四个文件放置在conf下的ssl目录。
Cnci%eo httpd-ahssl.conf添加如下代码
5dw@g4N %^ /(ju Listen 443 https
cjC6\.+l3 <VirtualHost _default_:443>
"UGj4^1f SSLEngine on
#r)1<}_e# ServerName
www.7428.cn:443 Ny,A#-? SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
\}QuNwc SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
afiK!0col2 php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
76Vyhf&7 DocumentRoot "${SRVROOT}/htdocs/www7428cn"
I5yd )72 ErrorDocument 404 "/404/"
ZQ' z # DocumentRoot access handled globally in httpd.conf
:8Ts'OGwI # CustomLog "${SRVROOT}/logs/ssl_request.log" \
`}8@[iB' # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
}42qMOi#w1 <Directory "${SRVROOT}/htdocs/7428cnwww">
7M#$: Fdb # Options Indexes Includes FollowSymLinks
wQ=yY$VP Options Includes FollowSymLinks
2C33;?M AllowOverride AuthConfig Limit FileInfo
5 (21gW9 Require all granted
*- IlF] </Directory>
2u*h*/ </virtualhost>
:O'C:n<g <VirtualHost _default_:443>
ZCE%38E N SSLEngine on
Q_]!an( ServerName 7428.cn:443
^0x.'G? SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
Fi?Q
4b SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
9 yW~79n <IfModule rewrite_module>
<5ft6a2fQ RewriteEngine On
}}``~ RewriteCond %{http_host} ^7428.cn [NC]
jW1YTQ RewriteRule ^(.*)$
https://www.7428.cn/$1 [L,R=301]
fzRyG-cEpj </IfModule>
YV1a3 php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
QxL@'n#5 DocumentRoot "${SRVROOT}/htdocs/www7428cn"
<;z[+6T ErrorDocument 404 "/404/"
O$"bd~X # DocumentRoot access handled globally in httpd.conf
4V228>9w # CustomLog "${SRVROOT}/logs/ssl_request.log" \
tKG;k"wk # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
"M9TB. O <Directory "${SRVROOT}/htdocs/www7428cn">
'0R/6Z|/Y # Options Indexes Includes FollowSymLinks
W$ JY M3! Options Includes FollowSymLinks
[}A_uOGEP AllowOverride AuthConfig Limit FileInfo
8/Et&TJ` Require all granted
VD9
q5tt7 </Directory>
Z7/vrME6 </virtualhost>
``(}4a 保存后重启apache
}.fL$,7a 其中的php_admin_value open_basedir两行代码作用是防止同一个服务器下其他域名站跨站访问。安全至上。
'^Pq(b~ ErrorDocument 是配置找不到页面的时候跳转的404页面信息。
?G4iOiyt <IfModule rewrite_module>里面的内容是实现
https://7428.cn重定向到
https://www.7428.cn,即不带www的跳转到
K,x$c % 2j8Cv:{Nn% 带www的下。
xNC* ]8d F3r S6_ <KHv|)ak wD<vg3e[H 官方文件说明:
6PiEa( 1. 证书文件214329625123456.pem,包含两段内容,请不要删除任何一段内容。
a<f;\$h] 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214329625123456.key、证书公钥文件public.pem、证书链文件chain.pem。
#C"7
l6'a ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214329625123456.key;
?D1x;i9< ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
xh{mca>?G #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
)2)Zz +< #Include conf/extra/httpd-ssl.conf
@b]VCv0*f% ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
w>v5oy8s- # 添加 SSL 协议支持协议,去掉不安全的协议
.KFA218h*x SSLProtocol all -SSLv2 -SSLv3
uPFRh~ (b # 修改加密套件如下
J=@hk@Nq# SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
vkd *ER^ SSLHonorCipherOrder on
buRhQ" # 证书公钥配置
D._{E*vg SSLCertificateFile cert/public.pem
0xN!DvCg>. # 证书私钥配置
AeN 3<|RN SSLCertificateKeyFile cert/214486743260863.key
b([:,T7 # 证书链配置,如果该属性开头有 '#'字符,请删除掉
S<V-ZV&_:U SSLCertificateChainFile cert/chain.pem
%=y;L:S\p ( 4 ) 重启 Apache。
$6 W3EOl ---------------------
Og+)J9# 作者:my0592
yXkt:O,i