杜坤福博客

Hi, 请登录

UPUPW环境包站点Apache配置SSL证书并强制访问Https


1. 下载 “Apache版UPUPW PHP5.3系列环境包”,解压(如解压到C:\UPUPW_AP5.3)后运行apache,可以看到探针信息 
 
2. 编辑配置文件 C:\UPUPW_AP5.3\Apache2\conf\httpd.conf ,加载 mod_ssl.so 和 mod_socache_shmcb.so 模块,启用 httpd-ssl.conf ,注释掉 ssleay32.dll 和 libeay32.dll

  1. LoadModule ssl_module modules/mod_ssl.so

  2. LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

  1. Include conf/extra/httpd-ssl.conf

 

  1. #    LoadFile "C:/UPUPW_AP5.3/PHP5/ssleay32.dll"

  2. #    LoadFile "C:/UPUPW_AP5.3/PHP5/libeay32.dll"

 
 

加载 mod_ssl.so  


 

加载  mod_socache_shmcb.so


 
 

启用 httpd-ssl.conf


 
 

注释掉 ssleay32.dll 和 libeay32.dll  


3. 编辑配置文件 C:\UPUPW_AP5.3\Apache2\conf\conf\extra\httpd-ssl.conf ,根据实际情况修改主机名和证书路径。如本例的 ServerName 是 portal.anqun.org:443 ,证书存储路径是 C:\UPUPW_AP5.3\Apache2\conf\213466734260268.pem 和 C:\UPUPW_AP5.3\Apache2\conf\213466734260268.key 

找到下面内容: 

<VirtualHost _default_:443> 
    DocumentRoot "sslroot/" 
    ServerName www.example.com:443 
    ServerAlias example.com 
    ServerAdmin webmaster@example.com 
    DirectoryIndex index.html index.htm index.php default.php app.php u.php 
    ErrorLog logs/example_error.log 
    CustomLog logs/example_access.log \ 
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
    SSLEngine on 
    SSLCertificateFile "conf/server.crt" 
    SSLCertificateKeyFile "conf/server.key" 
<Directory "sslroot/"> 
    SSLOptions +StdEnvVars 
    AllowOverride All 
    Require all granted 
</Directory> 

将DocumentRoot "sslroot/"中的sslroot/路径改为你网站根目录的绝对路径:如C:/UPUPW_AP7.0/vhosts/www.abc.com 

将Directory "sslroot/"中的sslroot/路径改为你网站根目录的绝对路径:如C:/UPUPW_AP7.0/vhosts/www.abc.com 

(注意路径反斜杠方向) 

同时修改证书内容,密钥的路径,SSLCertificateFile "conf/server.crt"中的conf/server.crt改为你证书的绝对路径 

SSLCertificateKeyFile "conf/server.key"中的conf/server.key改为你证书密钥的绝对路径。如果有证书链,则在下一行 

加上SSLCertificateChainFile "conf/chain.crt",记得修改证书链的路径。 

如: 

SSLCertificateFile ""C:/UPUPW_AP7.0/Apache2/conf/server.crt" 
SSLCertificateKeyFile ""C:/UPUPW_AP7.0/Apache2/conf/server.key" 
SSLCertificateChainFile "C:/UPUPW_AP7.0/Apache2/conf/chain.crt" 

上面只是示例,按照你证书的路径修改。 

保存并退出httpd-ssl.conf。 


 


 
 
4. 保存配置文件后,停止apache,再启动apache,在Chrome浏览器访问测试,正常 。


强制使用https: 

需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容: 

RewriteEngine on 

RewriteCond %{SERVER_PORT} !^443$ 

RewriteRule ^(.*)?$ 
https://%{SERVER_NAME}/$1 [L,R] 

可以用在.htaccess文件中。 

如果对某个目录做https强制跳转,则复制以下代码:

 RewriteEngine on 

 RewriteBase /yourfolder RewriteCond %{SERVER_PORT} !^443$ #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R] 

 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 


 
 
 



相关推荐

评论 2

  • 昵称 (必填)
  • 邮箱
  • 网址
  1. #1

    你这教程可真够误导人的,http vhost 不用改???????

    访客 2018-08-27 19:01:03 回复
    1. @访客 具体有些简单的自己去修改奥!

      admin 2019-09-10 17:39:19 回复
二维码
评论