关于php设置https的问题-PHP问题

资源魔 28 0

php设置https的办法:起首设置“httpd.ini”并增加相干设置装备摆设;而后将“httpd-ssl.conf”外面的“VirtualHost”设置装备摆设完好门路;最初使http重定向到https便可。

保举:《PHP视频教程》

设置https和http转https的成绩

公司用的是阿里云效劳器win2008server r2 ,环境是phpwamp,呈现许多成绩。2018-11-12

一 设置https

一、设置httpd.ini 勾销如下三个设置装备摆设的#

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

二、而且留意 httpd-ssl.conf外面的VirtualHost设置装备摆设要用完好门路,支持多个https同时应用

例如这样既可:

#baidu民间网站
<VirtualHost *:443>    
    DocumentRoot "D:/WWW/百度/public/"    
    ServerName www.百度.com:443  
    SSLEngine on    
    SSLCertificateFile          D:/ssl/www.百度.com/www.百度.com.cer  
    SSLCertificateKeyFile       D:/ssl/www.百度.com/www.百度.com.key    
    SSLCertificateChainFile     D:/ssl/www.百度.com/www.百度.com_ca.crt  
</VirtualHost>
#淘宝民间网站
<VirtualHost *:443>
    DocumentRoot "D:/WWW/taobao/public/"    
    ServerName www.taobao.com:443  
    SSLEngine on    
    SSLCertificateFile          D:/ssl/www.taobao.com/www.taobao.com.cer  
    SSLCertificateKeyFile       D:/ssl/www.taobao.com/www.taobao.com.key    
    SSLCertificateChainFile     D:/ssl/www.taobao.com/www.taobao.com_ca.crt  
</VirtualHost>
<VirtualHost _default_:443>
    DocumentRoot "C:/*****/PHPWAMP_IN2/wwwroot/test"
    ServerName www.test.com:443
    ServerAlias test.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 "C:/**************.com_public.crt"
    SSLCertificateKeyFile "C:/**********.com.key"
    SSLCertificateChainFile "C:/*****.com_chain.crt"
<Directory "C:/*****/PHPWAMP_IN2/wwwroot/test">
    SSLOptions +StdEnvVars
    AllowOverride All
    Require all granted
</Directory>
<FilesMatch "\.(shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
    BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
</VirtualHost>

上图是phpwamp软件设置装备摆设ssl的代码(***是目次门路以及文件名 ,这里抹除了)

最初要留意的是,查看httpd-ssl.conf文件外面所应用的443端口能否被占用,假如被占用Apache也会启动失败。

三、由于是阿里云效劳器,一切需求正在阿里云后盾治理开启443端口

四、正在效劳器上的防火墙添加入站规定 443

注意SSLCertificateChainFile的地点设置装备摆设,三个ssl门路地点中任何一个门路谬误城市造成apache的启动失败,若有成绩,请重点排查这处。

二 http重定向到https

当你的站点应用了HTTPS之后,你可能会想把一切的HTTP申请(即端口80的申请),全副都重定向至HTTPS(即端口443)。这时候候你能够用如下的形式来做到:(Apache mod_rewrite)

把这段代码放正在.htaccess文件(网站根目次下),便可完成HTTP到HTTPS的重定向。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.百度.com/$1 [R=301,L]
</IfModule>

而当你又想用回HTTP的时分,反过去就能够了:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://www.百度.com/$1 [R=301,L]
</IfModule>

此中R=301示意Moved Permanently,即通知搜寻引擎或许阅读器上来间接拜访后者的地点,

假如只是实验性地重定向,能够应用R=302(Found),暂时跳转

以上就是对于php设置https的成绩的具体内容,更多请存眷资源魔其它相干文章!

标签: php https php教程 php故障解决 php使用问题

抱歉,评论功能暂时关闭!