• 1260阅读
  • 1回复

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

楼层直达
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" V T8PV5z  
  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页面信息。 `fuQ t4  
<IfModule rewrite_module>里面的内容是实现https://7428.cn重定向到https://www.7428.cn,即不带www的跳转到 f,|g|&C  
eB&.keO  
带www的下。 2 \<u;9  
?8do4gT+1  
"38L ,PW0Z  
%aI,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:mD ZeY  
#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]r S =#  
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 5 HsF#  
( 4 ) 重启 Apache。 Fc8 0HK5R  
--------------------- i6A9|G$H  
作者:my0592   eX>*}pI  
只看该作者 安逸沙发  发表于: 2018-11-30
近来,有个项目跑在WAMP环境下,可是当多个人访问时候,总是容易卡死。 T4\,b  
c&F"tLl  
查看apache的错误日志,几乎每一次卡死都是报同一个错:[mpm_winnt:warn] [pid 6508:tid 5008] (OS 64)指定的网络名不再可用。  : AH00341: winnt_accept: Asynchronous AcceptEx failed,网上大部分解决方法是,加Win32DisableAcceptEx,这个是问题所在,但是在apache2.4下面并不奏效,加上反而不能启动apache了。 PiAA,  
+J+]P\:  
亲测,apache2.4报这个错,可以直接找到httpd.conf,末尾加上: +s_@964  
:K2N7?shA  
AcceptFilter http none *^" 4 )  
AcceptFilter https none 6,s@>8n  
52-^HV  
重启apache,就可以了。希望能够帮更多人解决类似问题。该方法,有幸找到了http://www.oschina.net/question/998019_112854?fromerr=SANUgxwY,这里面的讨论,在此鸣谢。至于其原理,可以参考:http://httpd.apache.org/docs/2.4/mod/core.html#acceptfilter R.> /%o  
F/@#yQv?  
--------------------- 本文来自 captian36 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u011220840/article/details/52291329?utm_source=copy WWq)Cw R  
MLa]s* ; d  
==== `db++Z'C  
E})PNf;  
  8+gSn  
\<;/)!Nmw  
<IfModule mpm_winnt_module>  "FG6R'  
    ThreadsPerChild      500 ^R K[-tVV  
    MaxRequestsPerChild    10000 l2n>Wce9  
  AcceptFilter http None e|Lh~sVq  
   AcceptFilter https None uQpV1o5iA  
</IfModule> H(n_g QAX  
KOw Ew~  
  + Uj~zx@  
z2nDD6N  
================== kk^KaD4dA  
Yckl,g_  
1、打开httpd.conf  L;grH5K5  
2、查找 7j._3'M=Kc  
  ~~wz05oRG  
*3. ]  
<span style="color:#333333">#AcceptFilter http none &({X9  
#AcceptFilter https none</span> C2DNyMu  
3、修改为 !k%Vw1 8  
  bzB9u&  
MhJq~G p  
<span style="color:#333333">AcceptFilter http none -u)06C*39  
AcceptFilter https none</span> YwHnDVV+  
upupw默认添加了这个配置只是注释掉了,我们去掉#号,开启配置。  tAYu|\]  
此处可以解决某些浏览器导致apache慢或者假死不响应的情况,提高兼容性。  BKVvu}V(o  
4、查找 Z`< +8e  
复制代码 e|]g ?!  
B/pNM81(  
<span style="color:#333333"><IfModule mpm_winnt_module> 6n;ewl}  
    ThreadsPerChild          1920 $mp7IZE|  
    MaxConnectionsPerChild   100000 x{RTI#a.  
</IfModule></span> WET $H,  
5、修改为 l,sYYU+iY  
  #`}g?6VHo  
9Q].cDe[  
<span style="color:#333333"><IfModule mpm_winnt_module> Og-M nx3  
    ThreadsPerChild          500 %3"3OOT7  
    MaxConnectionsPerChild   100000 H$\?D+xlf  
</IfModule></span> h7(twct  
此处主要是为了解决开启了AcceptFilter参数后如果ThreadsPerChild的值大于512会频繁重启apache的问题,ThreadsPerChild是apache工作进程的线程数最大值到1920超出后会报错,MaxConnectionsPerChild是工作进程最大处理多少请求后载入新的进程。  {zmo7~=  
--------------------- c|ZZ+2IYd  
作者:my0592  
快速回复

限100 字节
安逸网提示:如果您在写长篇帖子又不马上发表,建议存为草稿
 
认证码:
上一个 下一个