Apache下https服务的配置,apachehttps服务
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>
评论暂时关闭