«

Windows下的Apache对于https服务的配置

时间:2024-3-3 10:51     作者:韩俊     分类: Linux


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

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

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

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

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

LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
Include conf/extra/httpd-ssl.conf

3.配置conf/extra/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>

5.重启 Apache。


标签: linux

热门推荐