• 412阅读
  • 1回复

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

楼层直达
apache 配置安装ssl证书实现https安全访问全过程 2:$ k  
%d: A`7x  
安装证书(贴上未来智库站配置ssl的代码内容),官方的配置复杂且不具有通用性。 F?Or;p5`Y  
1.#修改httpd.conf文件 8o)L,{yl  
LoadModule ssl_module modules/mod_ssl.so ykq'g|  
R V!o4"\]  
Include conf/extra/httpd-ssl.conf S2$5!(P  
gZ(O)uzv  
#去掉上面两行前的"#" =8{*@>CX  
;mO,3dV  
i=QqB0  
2.打开extra目录下的httpd-ahssl.conf文件 MWq$AK]  
将下载的证书四个文件放置在conf下的ssl目录。 $P?{O3:V  
httpd-ahssl.conf添加如下代码 Riql,g/  
*1;23BiH-  
Listen 443 https PN\V[#nS  
<VirtualHost _default_:443> 0^>E`/  
  SSLEngine on EHWv3sR-  
  ServerName www.7428.cn:443 oWcACs3fB  
  SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem" #5d8?n  
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key" !?r/ 4  
php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP" )tPl<lb  
  DocumentRoot "${SRVROOT}/htdocs/www7428cn" ")\ *2d  
  ErrorDocument 404 "/404/" /a%KS3>V*  
# DocumentRoot access handled globally in httpd.conf ZW2s[p r  
#    CustomLog "${SRVROOT}/logs/ssl_request.log" \ (v|`LmV  
#          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" Eb7}$Ji\  
<Directory "${SRVROOT}/htdocs/7428cnwww"> DD6'M U4  
# Options Indexes Includes FollowSymLinks eb7UoZw  
Options Includes FollowSymLinks &0h=4i=6r  
AllowOverride AuthConfig Limit FileInfo ,"C&v~  
    Require all granted ~{Ua92zV9  
</Directory> $WM8tF?H  
</virtualhost> tpd|y|  
<VirtualHost _default_:443> X~#@rg!"  
  SSLEngine on I@c0N*(  
  ServerName 7428.cn:443  1dXh\r_n  
  SSLCertificateFile "${SRVROOT}/conf/ssl/214329625123456.pem" 5Wj5IS/  
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/214329625123456.key" }" g@E-]N  
 <IfModule rewrite_module> gZ ~y}@L y  
    RewriteEngine On UfO'.8*v  
    RewriteCond %{http_host} ^7428.cn [NC] b<48#Qy~l  
    RewriteRule ^(.*)$ https://www.7428.cn/$1 [L,R=301] "P9wT)J_  
    </IfModule> ]q@rGD85K  
php_admin_value open_basedir "${SRVROOT}/htdocs/www7428cn;C:/windows/TEMP" ye9QTK6$,  
  DocumentRoot "${SRVROOT}/htdocs/www7428cn" 06Sqn3MB  
  ErrorDocument 404 "/404/" REeD?u j  
# DocumentRoot access handled globally in httpd.conf =r=^bNO  
#    CustomLog "${SRVROOT}/logs/ssl_request.log" \ N}e(.  
#          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" `V$cz88b  
<Directory "${SRVROOT}/htdocs/www7428cn"> m^(E:6T  
# Options Indexes Includes FollowSymLinks e{d_p%(  
Options Includes FollowSymLinks rl_1),J\qG  
AllowOverride AuthConfig Limit FileInfo ]&; G\9$y  
    Require all granted P<g|y4h  
</Directory> Bil;@,Z#  
</virtualhost> bDcWb2 lqs  
保存后重启apache ueS[sN!  
其中的php_admin_value open_basedir两行代码作用是防止同一个服务器下其他域名站跨站访问。安全至上。 gGceK^#  
ErrorDocument 是配置找不到页面的时候跳转的404页面信息。 mw%[qeL V  
<IfModule rewrite_module>里面的内容是实现https://7428.cn重定向到https://www.7428.cn,即不带www的跳转到 lu9Ir>c  
WL*W=(  
带www的下。 7m@^=w  
Jh/M}%@|  
{{#a%O  
1&>nL`E[3  
官方文件说明: S{r)/ ~/  
1. 证书文件214329625123456.pem,包含两段内容,请不要删除任何一段内容。 M<|~MR  
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214329625123456.key、证书公钥文件public.pem、证书链文件chain.pem。 eG2qOq$[  
( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214329625123456.key; D;#Yn M3  
( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”: =.=. \K  
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件) \t~u : D  
#Include conf/extra/httpd-ssl.conf IUBps0.T\  
( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句: 1Qc(<gM  
# 添加 SSL 协议支持协议,去掉不安全的协议 DF&jZ[##  
SSLProtocol all -SSLv2 -SSLv3 A?Hjz%EcW  
# 修改加密套件如下 eG)/&zQ8  
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM bz,cfc;?$  
SSLHonorCipherOrder on !NY^(^   
# 证书公钥配置 eVK<%r=  
SSLCertificateFile cert/public.pem E*b[.vUp  
# 证书私钥配置 J5_ qqD)  
SSLCertificateKeyFile cert/214486743260863.key !Z2n;.w  
# 证书链配置,如果该属性开头有 '#'字符,请删除掉 ).`a-Pv  
SSLCertificateChainFile cert/chain.pem <rI$"=7  
( 4 ) 重启 Apache。 i3WmD@  
--------------------- XGl13@=O  
作者:my0592   EG8R*Cm,}  
 
只看该作者 安逸沙发  发表于: 2018-11-30
近来,有个项目跑在WAMP环境下,可是当多个人访问时候,总是容易卡死。 G_bG  
$WyD^|~SF  
查看apache的错误日志,几乎每一次卡死都是报同一个错:[mpm_winnt:warn] [pid 6508:tid 5008] (OS 64)指定的网络名不再可用。  : AH00341: winnt_accept: Asynchronous AcceptEx failed,网上大部分解决方法是,加Win32DisableAcceptEx,这个是问题所在,但是在apache2.4下面并不奏效,加上反而不能启动apache了。 n0r+A^]  
*6sl   
亲测,apache2.4报这个错,可以直接找到httpd.conf,末尾加上: `Nz/O h7  
sy:[T T!w  
AcceptFilter http none m+`fn;*  
AcceptFilter https none e<3K;Q  
"$#xK|t  
重启apache,就可以了。希望能够帮更多人解决类似问题。该方法,有幸找到了http://www.oschina.net/question/998019_112854?fromerr=SANUgxwY,这里面的讨论,在此鸣谢。至于其原理,可以参考:http://httpd.apache.org/docs/2.4/mod/core.html#acceptfilter rSZd!OQ  
2/vMoVT,  
--------------------- 本文来自 captian36 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u011220840/article/details/52291329?utm_source=copy o C<.=2]  
&+cEV6vb+  
==== 5*+!+V^?X  
ZvNJ^Xz  
  RP~|PtLw_  
ruc++@ J@  
<IfModule mpm_winnt_module> 0O9Ni='Tn  
    ThreadsPerChild      500 eFaO7mz5V%  
    MaxRequestsPerChild    10000 3?c3<`TW  
  AcceptFilter http None ix([mQg  
   AcceptFilter https None xfpa]Z  
</IfModule> MXw hxk#E  
H=g`hF]`  
   Of"  
*]AdUEV?  
================== uW30ep'  
lBK}VU^  
1、打开httpd.conf  !9[>L@#G  
2、查找 G_0( |%  
  %/|9@er  
cd(GvX'  
<span style="color:#333333">#AcceptFilter http none sejg&8  
#AcceptFilter https none</span> ;D:9+E<>a  
3、修改为 OR%'K2C6S  
  *h'=3w:G  
M_"L9^^>N  
<span style="color:#333333">AcceptFilter http none sE:M@`2L  
AcceptFilter https none</span> LIcM3_.  
upupw默认添加了这个配置只是注释掉了,我们去掉#号,开启配置。  [H6hyG~  
此处可以解决某些浏览器导致apache慢或者假死不响应的情况,提高兼容性。  \QYFAa  
4、查找 kQEy#JQmB  
复制代码 ^; )8VP6  
-'t)=YJ  
<span style="color:#333333"><IfModule mpm_winnt_module> AaWs}M  
    ThreadsPerChild          1920 dwDcR,z?a  
    MaxConnectionsPerChild   100000 j2QmxTa!  
</IfModule></span> j)<IRD^  
5、修改为 @~YYD#'vNY  
  ,*7 (%k^`  
xI($Uu}S  
<span style="color:#333333"><IfModule mpm_winnt_module> auK?](U  
    ThreadsPerChild          500 xKuRh}^K  
    MaxConnectionsPerChild   100000 57umx`m  
</IfModule></span> lT&eJO~?5  
此处主要是为了解决开启了AcceptFilter参数后如果ThreadsPerChild的值大于512会频繁重启apache的问题,ThreadsPerChild是apache工作进程的线程数最大值到1920超出后会报错,MaxConnectionsPerChild是工作进程最大处理多少请求后载入新的进程。  l5Gq|!2yxD  
--------------------- c'%-jG)\  
作者:my0592  
快速回复

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