• 1254阅读
  • 1回复

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

楼层直达
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?Vybg~  
  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 Z5 fd  
  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~90 30>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  
kaxvP v1  
官方文件说明: 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  
只看该作者 安逸沙发  发表于: 2018-11-30
近来,有个项目跑在WAMP环境下,可是当多个人访问时候,总是容易卡死。 H%y!lR{c^D  
t,H=;U#  
查看apache的错误日志,几乎每一次卡死都是报同一个错:[mpm_winnt:warn] [pid 6508:tid 5008] (OS 64)指定的网络名不再可用。  : AH00341: winnt_accept: Asynchronous AcceptEx failed,网上大部分解决方法是,加Win32DisableAcceptEx,这个是问题所在,但是在apache2.4下面并不奏效,加上反而不能启动apache了。 rnX D(  
Dfz3\|LJ  
亲测,apache2.4报这个错,可以直接找到httpd.conf,末尾加上: 55LW[Pc  
[9N>*dKB  
AcceptFilter http none :]]#X ~J  
AcceptFilter https none olLVT<  
:[P)t %  
重启apache,就可以了。希望能够帮更多人解决类似问题。该方法,有幸找到了http://www.oschina.net/question/998019_112854?fromerr=SANUgxwY,这里面的讨论,在此鸣谢。至于其原理,可以参考:http://httpd.apache.org/docs/2.4/mod/core.html#acceptfilter  Q6qIx=c4  
GQ -fEIi{  
--------------------- 本文来自 captian36 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u011220840/article/details/52291329?utm_source=copy P6G&3yPt  
NAg9EaWja{  
==== 2?c##Izn  
l4O&*,}l##  
  M_BG :P5  
AT{rg/oSf  
<IfModule mpm_winnt_module> \5 S^~(iL  
    ThreadsPerChild      500 L|hoA9/]  
    MaxRequestsPerChild    10000 Vf*Z}'  
  AcceptFilter http None ! )x2   
   AcceptFilter https None dilom#2l  
</IfModule> ovXU +8  
xCTPsw]s  
  P$7i>(?(  
ye^*Z>|  
================== ;}>g/lw  
=:"wU  
1、打开httpd.conf  UFSbu5 j  
2、查找 , RKl  
  f`W)Z$fN5  
Abc%VRsT  
<span style="color:#333333">#AcceptFilter http none x>!bvZ2  
#AcceptFilter https none</span> DQI b57j  
3、修改为 ]#sF pWI[N  
  MBn ZO  
e0:[,aF`  
<span style="color:#333333">AcceptFilter http none 259R5X<V  
AcceptFilter https none</span> )R^&u`k  
upupw默认添加了这个配置只是注释掉了,我们去掉#号,开启配置。  E=# O|[=  
此处可以解决某些浏览器导致apache慢或者假死不响应的情况,提高兼容性。  zI.%b7wq  
4、查找 f`K[oCfu  
复制代码 $)#?4v<  
Dq[Z0"8  
<span style="color:#333333"><IfModule mpm_winnt_module> Whl^~$+f  
    ThreadsPerChild          1920 /T<))@$  
    MaxConnectionsPerChild   100000 3EV?=R  
</IfModule></span> qYP;`L}o#  
5、修改为 +5x{|!Pn  
  :|%1i>O  
lBzfBmEB  
<span style="color:#333333"><IfModule mpm_winnt_module> [NoOA  
    ThreadsPerChild          500 9]%2Yb8SC  
    MaxConnectionsPerChild   100000 43,baeG  
</IfModule></span> L/?jtF:o  
此处主要是为了解决开启了AcceptFilter参数后如果ThreadsPerChild的值大于512会频繁重启apache的问题,ThreadsPerChild是apache工作进程的线程数最大值到1920超出后会报错,MaxConnectionsPerChild是工作进程最大处理多少请求后载入新的进程。  &3$FkU^F6  
--------------------- 8ly6CP+^B  
作者:my0592  
快速回复

限100 字节
安逸网提示:批量上传需要先选择文件,再选择上传
 
认证码:
上一个 下一个