apache 配置安装ssl证书实现https安全访问全过程
(5cc{zKtR PL@hsZty~c 安装证书(贴上未来智库站配置ssl的代码内容),官方的配置复杂且不具有通用性。
]p\7s 1.#修改httpd.conf文件
&;&i#ZO LoadModule ssl_module modules/mod_ssl.so
"4<RMYQ Yev] Lp Include conf/extra/httpd-ssl.conf
%\6|fKB4< 3%bCv_6B #去掉上面两行前的"#"
g
j8rrd| }%c2u/PQ ai)S:2 2.打开extra目录下的httpd-ahssl.conf文件
b|^g51v 将下载的证书四个文件放置在conf下的ssl目录。
'-oS=OrZ httpd-ahssl.conf添加如下代码
9]< p {_&'tXL Listen 443 https
:hJHjh <VirtualHost _default_:443>
IppzQ0'=y1 SSLEngine on
G0oY`WXOB ServerName
www.7428.cn:443 |5oK04< SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
VT8PV5z SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
*oopdGue php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
O=~8+sa DocumentRoot "${SRVROOT}/htdocs/www7428cn"
cyrVz4_a ErrorDocument 404 "/404/"
F*m^AFjs # DocumentRoot access handled globally in httpd.conf
O'm><a>8 # CustomLog "${SRVROOT}/logs/ssl_request.log" \
4wYD-MB # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
701a%Jq_2 <Directory "${SRVROOT}/htdocs/7428cnwww">
ZByxC*Cz # Options Indexes Includes FollowSymLinks
[.J&@96,b Options Includes FollowSymLinks
t/55tL AllowOverride AuthConfig Limit FileInfo
KaVNRS Require all granted
b-?wJSf| </Directory>
x}\x3U </virtualhost>
U*sjv6*T <VirtualHost _default_:443>
KLb"_1z SSLEngine on
Nq]8p =e ServerName 7428.cn:443
YcQ$nZAU SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem"
f(M$m,d SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key"
Z2n
Jw <IfModule rewrite_module>
gB7kb$J RewriteEngine On
m(>MP/ RewriteCond %{http_host} ^7428.cn [NC]
wnioIpRkh RewriteRule ^(.*)$
https://www.7428.cn/$1 [L,R=301]
DWv(|gO </IfModule>
e
p jb php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP"
\;XDPC j DocumentRoot "${SRVROOT}/htdocs/www7428cn"
&9Y ^/W ErrorDocument 404 "/404/"
dU}Cb?]7s # DocumentRoot access handled globally in httpd.conf
R$XHjb) # CustomLog "${SRVROOT}/logs/ssl_request.log" \
#B!|sXC # "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Z8Iqgz7|y <Directory "${SRVROOT}/htdocs/www7428cn">
=oE(ur # Options Indexes Includes FollowSymLinks
_:N= Options Includes FollowSymLinks
g6
H}a AllowOverride AuthConfig Limit FileInfo
~dO+kD Require all granted
(ZPl~ZO </Directory>
ZZ>"LH </virtualhost>
hW!2C6 保存后重启apache
)3IUKz%\6p 其中的php_admin_value open_basedir两行代码作用是防止同一个服务器下其他域名站跨站访问。安全至上。
Vp7d ErrorDocument 是配置找不到页面的时候跳转的404页面信息。
`fuQt4 <IfModule rewrite_module>里面的内容是实现
https://7428.cn重定向到
https://www.7428.cn,即不带www的跳转到
f,|g|&C eB&.keO
带www的下。
2 \<u;9 ?8do4gT+1 "38L ,PW0Z %a I,K0\ 官方文件说明:
y|0!sNg 1. 证书文件214329625123456.pem,包含两段内容,请不要删除任何一段内容。
_dY5qW1p 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214329625123456.key、证书公钥文件public.pem、证书链文件chain.pem。
B"sB0NuT/$ ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214329625123456.key;
<PFF\NE9 ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
!F:mDZeY #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
0h~{K #Include conf/extra/httpd-ssl.conf
M&jlUr&l ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
&1f3e # 添加 SSL 协议支持协议,去掉不安全的协议
F [Lg,} SSLProtocol all -SSLv2 -SSLv3
$|g
; # 修改加密套件如下
.p]rS
=# SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
V%{WH} SSLHonorCipherOrder on
.hM t:BMf* # 证书公钥配置
!g`I*ZE+e SSLCertificateFile cert/public.pem
o%f:BJS # 证书私钥配置
@`#x:p: SSLCertificateKeyFile cert/214486743260863.key
::+;PRy_E # 证书链配置,如果该属性开头有 '#'字符,请删除掉
FW5v
1s= SSLCertificateChainFile cert/chain.pem
5HsF# ( 4 ) 重启 Apache。
Fc80HK5R ---------------------
i6A9|G$H 作者:my0592
eX>*}pI