phpstudy环境Apache配置下实现https访问和301重定向
- 格式:doc
- 大小:24.97 KB
- 文档页数:2
phpStudy 2016环境下安装SSL证书教程
题外话:在网站上安装SSL证书,首先你要有这个证书,此教程的用到的私钥server.key,证书server.crt和根证书ca.crt都是自己做的,具体看“000Windows系统下制作公钥私钥ssl 证书.doc”文档。
教程开始:
以下都是在:Phpstudy2016 Apache环境下
第一种方法(简单,快速,推荐)
第一步:【打开phpstudy】》【其他选项菜单】》【PHP扩展】》【php-openssl】前面勾选上。
第二步:【打开phpstudy】》【其他选项菜单】》【站点域名管理】》【站点域名设置】网站域名添127.0.0.1(根据需要设置)
第三步:把server.crt ca.crt和server.key三个文件后放到d:/ssl 目录下。
第四步:打开D:/phpStudy/Apache/conf/httpd.conf
在最后面添加SSL配置.
Listen 443
DocumentRoot "D:/phpStudy/WWW"
ServerName 127.0.0.1
ServerAlias 127.0.0.1
SSLEngine on
SSLCertificateFile "d:/ssl/server.crt"
SSLCertificateKeyFile "d:/ssl/server.key"
SSLCertificateChainFile "d:/ssl/ca.crt"
完成以上配置后,重启Apache,没错误的话,就可以用http://或https://开头访问
如果此时能够正常启动,则说明添加的配置有错误(是不是重复监听了?证书路径对不对?证书是否有效?),请看错误日志(D:\phpStudy\Apache\logs\error.log),直到能够正常启动apache
第五步:http301重定向到https
完成第四步,还没有大功告成,因为访问http时还不会自动在网址前加https,怎么办?继续往下看
——创建一个文件名为.htaccess的文件放在网站根目录,可以用记事本新建一个空白文件,保存另存为时,在文件类型上选择所有文件就可以了。 .htaccess文件内容如下:(,
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
注意:.htaccess是Apache服务器下的配置文件,如果你的服务器或者虚拟主机不是Apache环境则不适用此方法
补充:
Apache全局/局部https访问配置方法
一、全局https访问
1.找到apache安装目录的httpd.conf配置文件,进行一下操作:
2.#LoadModule rewrite_module modules/mod_rewrite.so(把代码前面的#号去掉);
3.在httpd.conf加入代码:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
重启apache即可。
二、指定路径访问使用https访问
1.在httpd.conf加入代码:
RewriteEngine on
RewriteBase /test
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
2.重启apache即可。