• 1249阅读
  • 1回复

apache 配置安装ssl证书实现https安全访问全过程

楼层直达
apache 配置安装ssl证书实现https安全访问全过程 MXVCu"g%  
R "W=V  
安装证书(贴上未来智库站配置ssl的代码内容),官方的配置复杂且不具有通用性。 -b%' K}.C  
1.#修改httpd.conf文件 <O9WCl  
LoadModule ssl_module modules/mod_ssl.so Qm3 RXO  
.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> -qBrJ1*  
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 eDR4 c%  
其中的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?h c94  
官方文件说明: 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*l 2Z`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  
只看该作者 安逸沙发  发表于: 2018-11-30
近来,有个项目跑在WAMP环境下,可是当多个人访问时候,总是容易卡死。 h.s<0.  
|"tV["a  
查看apache的错误日志,几乎每一次卡死都是报同一个错:[mpm_winnt:warn] [pid 6508:tid 5008] (OS 64)指定的网络名不再可用。  : AH00341: winnt_accept: Asynchronous AcceptEx failed,网上大部分解决方法是,加Win32DisableAcceptEx,这个是问题所在,但是在apache2.4下面并不奏效,加上反而不能启动apache了。 sJYKt   
2sd=G'7!  
亲测,apache2.4报这个错,可以直接找到httpd.conf,末尾加上: r^o}Y  
Kjca>/id  
AcceptFilter http none eQ)ioY  
AcceptFilter https none ~BYEeUo;%v  
ZsK'</7  
重启apache,就可以了。希望能够帮更多人解决类似问题。该方法,有幸找到了http://www.oschina.net/question/998019_112854?fromerr=SANUgxwY,这里面的讨论,在此鸣谢。至于其原理,可以参考:http://httpd.apache.org/docs/2.4/mod/core.html#acceptfilter )*L?PT  
HjF'~n  
--------------------- 本文来自 captian36 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u011220840/article/details/52291329?utm_source=copy *.;}OX^X  
h|/*yTuN.y  
==== QX~72X=(  
#( Yb lY  
  H&K)q5~  
LF,c-Cv!jL  
<IfModule mpm_winnt_module> WaO;hy~us  
    ThreadsPerChild      500 GMp'KEQQ  
    MaxRequestsPerChild    10000 /)<7$  
  AcceptFilter http None w\Eve:  
   AcceptFilter https None %RF   
</IfModule> vH:+  
ha'm`LiX  
  a{YVz\?d}  
v?'k)B  
================== si4=C  
k5\ zGsol  
1、打开httpd.conf  :z5I bas:  
2、查找 6B P%&RL  
  6*oTT(0<p  
.:Xe*Q  
<span style="color:#333333">#AcceptFilter http none t#Yh!L6>  
#AcceptFilter https none</span> Zl/+HU~  
3、修改为 xGQ:7g+qu  
  [-}%B0S**  
m/c~2?-;  
<span style="color:#333333">AcceptFilter http none <t2?Oii;  
AcceptFilter https none</span> M4]|(A  
upupw默认添加了这个配置只是注释掉了,我们去掉#号,开启配置。  l1j   
此处可以解决某些浏览器导致apache慢或者假死不响应的情况,提高兼容性。  dTNgrW`4  
4、查找 RLr-xg$K-t  
复制代码 r+obm)Qtp  
O~1p]j  
<span style="color:#333333"><IfModule mpm_winnt_module> @ uWD>(D  
    ThreadsPerChild          1920 p#I1l2nE  
    MaxConnectionsPerChild   100000 s;)tLJ!  
</IfModule></span> 7tnzgtal  
5、修改为  HuC lO  
  Gj0NN:  
r#}%sof  
<span style="color:#333333"><IfModule mpm_winnt_module> m]vr|:{6/  
    ThreadsPerChild          500 {hR23eE)#  
    MaxConnectionsPerChild   100000 EORAx  
</IfModule></span>  #pK)  
此处主要是为了解决开启了AcceptFilter参数后如果ThreadsPerChild的值大于512会频繁重启apache的问题,ThreadsPerChild是apache工作进程的线程数最大值到1920超出后会报错,MaxConnectionsPerChild是工作进程最大处理多少请求后载入新的进程。  (x!bZ,fu  
--------------------- gA*zFhGVS7  
作者:my0592  
快速回复

限100 字节
安逸网提示:如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
认证码:
上一个 下一个