apache 配置安装ssl证书实现https安全访问全过程
WM,i:P)b z^W$%G 安装证书(贴上未来智库站配置ssl的代码内容),官方的配置复杂且不具有通用性。
?znSx}t 1.#修改httpd.conf文件
^0tw%6: LoadModule ssl_module modules/mod_ssl.so
dDtFx2(R .Q>!B?) Include conf/extra/httpd-ssl.conf
xx8U$,Ng q\$6F)ha3 #去掉上面两行前的"#"
*P2[qhP2 mlu 3K QH@>icAb 2.打开extra目录下的httpd-ahssl.conf文件
SKXD^OH 将下载的证书四个文件放置在conf下的ssl目录。
A^Cj1:, httpd-ahssl.conf添加如下代码
nr2r8u9r l1+[ Listen 443 https
H:S,\D?%2x <VirtualHost _default_:443>
TGV SSLEngine on
S>_27r{ ServerName
www.7428.cn:443 :q+N&j'3 SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
or?%-) SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
g]$
4~"|. php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
fCX*R" DocumentRoot "${SRVROOT}/htdocs/www7428cn"
\7Cg,Xn ErrorDocument 404 "/404/"
z,f=}t[.Y # DocumentRoot access handled globally in httpd.conf
Utt>H@t[ # CustomLog "${SRVROOT}/logs/ssl_request.log" \
;b%{ilx: # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
TKI$hc3|L <Directory "${SRVROOT}/htdocs/7428cnwww">
m(47s # Options Indexes Includes FollowSymLinks
yTAvF\s$( Options Includes FollowSymLinks
eaZQ2 AllowOverride AuthConfig Limit FileInfo
[ygF0-3ND Require all granted
zg}YGu|J </Directory>
.p@N:)W6 </virtualhost>
*^XbDg9 <VirtualHost _default_:443>
pR$6,Vi SSLEngine on
}GZbo kWg. ServerName 7428.cn:443
`~F5wh~ SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
_PXdzeI. SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
mh`|=M]8E <IfModule rewrite_module>
T~>#2N-Z RewriteEngine On
&=q! Wdw~ RewriteCond %{http_host} ^7428.cn [NC]
#G;X' BN RewriteRule ^(.*)$
https://www.7428.cn/$1 [L,R=301]
<[Oo*:A!7 </IfModule>
rU\[SrIhz php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
b-<HXn_Fd DocumentRoot "${SRVROOT}/htdocs/www7428cn"
Z!{UWegun ErrorDocument 404 "/404/"
hx!7w}[A # DocumentRoot access handled globally in httpd.conf
Qi=*1QAkr # CustomLog "${SRVROOT}/logs/ssl_request.log" \
/L~m#HxWU # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
ujzW|HW^v <Directory "${SRVROOT}/htdocs/www7428cn">
:c8^db`" # Options Indexes Includes FollowSymLinks
N6/T#UVns Options Includes FollowSymLinks
Zhi})d3l AllowOverride AuthConfig Limit FileInfo
#gv4
Require all granted
@.$MzPQQI </Directory>
.[j%sGdKl </virtualhost>
8vD3=yK%^ 保存后重启apache
"JhimgwvY 其中的php_admin_value open_basedir两行代码作用是防止同一个服务器下其他域名站跨站访问。安全至上。
rla:<6tt ErrorDocument 是配置找不到页面的时候跳转的404页面信息。
@$U e$ <IfModule rewrite_module>里面的内容是实现
https://7428.cn重定向到
https://www.7428.cn,即不带www的跳转到
%e=!nRc ti_u!kNv 带www的下。
~j&?/{7I %$9bce-fcG T.Zz;2I d"&3Q_2CD 官方文件说明:
z`#_F}v,m/ 1. 证书文件214329625123456.pem,包含两段内容,请不要删除任何一段内容。
buYDl 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214329625123456.key、证书公钥文件public.pem、证书链文件chain.pem。
=5s$qb?# ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214329625123456.key;
dR[o|r ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
14l; * #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
-!R
l(if #Include conf/extra/httpd-ssl.conf
ScJu_Af ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
>\bPZf)tJ) # 添加 SSL 协议支持协议,去掉不安全的协议
!5.v'K' SSLProtocol all -SSLv2 -SSLv3
Qj!d ^8 # 修改加密套件如下
t2.juoI( SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
\+]O*Bm&`8 SSLHonorCipherOrder on
e"_"vbk # 证书公钥配置
]h8/M7k SSLCertificateFile cert/public.pem
3@HIpQM3 # 证书私钥配置
5KaSWw/ SSLCertificateKeyFile cert/214486743260863.key
me$$he # 证书链配置,如果该属性开头有 '#'字符,请删除掉
6jtTT%>y SSLCertificateChainFile cert/chain.pem
4Q&mC" ( 4 ) 重启 Apache。
Is
kSX ---------------------
d<?X3&J 作者:my0592
c}\
d5R_L