apache 配置安装ssl证书实现https安全访问全过程
0)Uce=t` ZGexdc% 安装证书(贴上未来智库站配置ssl的代码内容),官方的配置复杂且不具有通用性。
o}
J&E{Tk 1.#修改httpd.conf文件
&v56#lG LoadModule ssl_module modules/mod_ssl.so
h
k]
N6+@ zwhe Include conf/extra/httpd-ssl.conf
!\-{D$E?H Xnt~]k\" #去掉上面两行前的"#"
Lb!Fcf|h SON-Z"v rV2WnAb[H& 2.打开extra目录下的httpd-ahssl.conf文件
Tl%`P_J)-S 将下载的证书四个文件放置在conf下的ssl目录。
i5en*)O8 httpd-ahssl.conf添加如下代码
]%hn`ZJ KT_!d * Listen 443 https
$~~Jw] <VirtualHost _default_:443>
j:^#rFD4? SSLEngine on
H7?Vy bg~ ServerName
www.7428.cn:443 !SC`D])l SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
5<iV2Hx SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
a_[Eh fE php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
=4vy@7/ DocumentRoot "${SRVROOT}/htdocs/www7428cn"
]O Z5fd ErrorDocument 404 "/404/"
E0BMv/r8b # DocumentRoot access handled globally in httpd.conf
7@C<oy_bb # CustomLog "${SRVROOT}/logs/ssl_request.log" \
V
@rI`~$ # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
6f;fx}y <Directory "${SRVROOT}/htdocs/7428cnwww">
cD@(/$wt # Options Indexes Includes FollowSymLinks
~Xr=4V:a+ Options Includes FollowSymLinks
L%">iQOG# AllowOverride AuthConfig Limit FileInfo
g!cUF+ Require all granted
V=)_yIS </Directory>
4f@o mAM </virtualhost>
Mc#*wEo)8 <VirtualHost _default_:443>
`J]fcE%T0R SSLEngine on
Hip&8NW ServerName 7428.cn:443
]e>RK' SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
h H <J,Wn SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
VQY&g;[d <IfModule rewrite_module>
5'0xz.)!
RewriteEngine On
qL5{f(U4< RewriteCond %{http_host} ^7428.cn [NC]
%cCs?ic RewriteRule ^(.*)$
https://www.7428.cn/$1 [L,R=301]
+${D </IfModule>
>*@y8u* php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
=81@o,1w DocumentRoot "${SRVROOT}/htdocs/www7428cn"
1?)Xp|O ErrorDocument 404 "/404/"
:}r. # DocumentRoot access handled globally in httpd.conf
e`d%-9 # CustomLog "${SRVROOT}/logs/ssl_request.log" \
/y A7%2 # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
o8zy^zN$6 <Directory "${SRVROOT}/htdocs/www7428cn">
DjI3?NN # Options Indexes Includes FollowSymLinks
hj Options Includes FollowSymLinks
ak->ML AllowOverride AuthConfig Limit FileInfo
wUiys/OVM Require all granted
w$H^q
!( </Directory>
8~9030>Q </virtualhost>
0VckocF 保存后重启apache
t<T[h2Wd 其中的php_admin_value open_basedir两行代码作用是防止同一个服务器下其他域名站跨站访问。安全至上。
Dfps
gY)/? ErrorDocument 是配置找不到页面的时候跳转的404页面信息。
&;XAuDw4+i <IfModule rewrite_module>里面的内容是实现
https://7428.cn重定向到
https://www.7428.cn,即不带www的跳转到
"Fy7K#n ?lbH02P{v 带www的下。
:Xn7Ha[f HQUeWCN Rx*BwZ kaxvPv1
官方文件说明:
3#vinz 1. 证书文件214329625123456.pem,包含两段内容,请不要删除任何一段内容。
(faK+z,*6R 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214329625123456.key、证书公钥文件public.pem、证书链文件chain.pem。
g
^!C ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214329625123456.key;
8 F2| ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
)jCo%P/ #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
6AvHavA^Y #Include conf/extra/httpd-ssl.conf
.lBgp=! ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
nRb^<cZf # 添加 SSL 协议支持协议,去掉不安全的协议
Z~6[ Z SSLProtocol all -SSLv2 -SSLv3
F52B~@. # 修改加密套件如下
r7]"?# SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
~|Z'l%<Os SSLHonorCipherOrder on
b-@\R\T # 证书公钥配置
?Qqd "=k4 SSLCertificateFile cert/public.pem
DB`QsiC) # 证书私钥配置
+`bC%\T8? SSLCertificateKeyFile cert/214486743260863.key
2L\3S ukj # 证书链配置,如果该属性开头有 '#'字符,请删除掉
:WXf.+IA SSLCertificateChainFile cert/chain.pem
Sl~x$9` ( 4 ) 重启 Apache。
*M~.3$NN ---------------------
3;$bS<> 作者:my0592
pbB2wt