Apache下https服务的配置,apachehttps服务


1.下载证书,一般为四个文件

注意:服务器不一样,证书的数量可能不一样

214132021230522.key
214132021230522.pem
chain.pem
public.pem

2.在apache的配置文件(httpd.conf)中,对以下两句话取消注释

注意:第一条加载ssl,第二天引入配置文件

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

3.配置httpd-ssl.conf文件,加入主机信息和证书路径

注意: 路径配置错误可能打不开服务器


Listen 443


SSLPassPhraseDialog  builtin


SSLSessionCache        "shmcb:/Apache24/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300



<VirtualHost _default_:443>

DocumentRoot "E:\web\public"
ServerName www.abc.com:443
ServerAdmin admin@example.com


SSLEngine on


SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL


SSLCertificateFile "C:\Apache24\cert\www\public.pem"

SSLCertificateKeyFile "C:\Apache24\cert\www\214132021230522.key"

SSLCertificateChainFile "C:\Apache24\cert\www\chain.pem"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Apache24/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>


BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

#   Per-Server Logging:
#   The home of a custom SSL log file. Use this when you want a
#   compact non-error SSL logfile on a virtual host basis.
CustomLog "/Apache24/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

4.在网站根目录的.htaccess文件中配置跳转

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</IfModule>

相关内容

    暂无相关文章