很多站长朋友们都不太清楚php+https+on,今天小编就来给大家整理php+https+on,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP怎样处理HTTPS请求 2、 https配置好后,访问时变成下载文件。 3、 php程序员用PHP如何实现https方式访问 4、 phpnow怎么安装ssl证书https访问? PHP怎样处理HTTPS请求具体代码如下:
<?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>
PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,
执行效率比完全生成HTML标记的CGI要高许多;
PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
https配置好后,访问时变成下载文件。问题在于在https server{ }中没有解析php的代码块
server {
listen 443 ssl;
server_name localhost;
ssl on;
ssl_certificate /usr/local/nginx-1.5.1/conf/server.crt;
ssl_certificate_key /usr/local/nginx-1.5.1/conf/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/nginx-1.5.1/html;
index index.html index.htm hello.php index.php;
}
location ~ .*\.(php|php5)?$ {
root /usr/local/nginx-1.5.1/html/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param HTTPS on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
#new line
include fastcgi.conf;
}
}
红色部分就是用来解析php的
php程序员用PHP如何实现https方式访问SSL证书安装到服务器环境里面安装的,不是安装到语言编程语言的。
一、如果程序员要实现,具备一台独立服务器或云服务器。
二、确定好需要实现HTTPS方式的域名(网址)。
三、登陆淘宝搜索:Gworg 获取SSL证书,办理认证手续。
四、拿到证书安装到服务器就可以了,不会安装建议让签发机构安装。
phpnow怎么安装ssl证书https访问?phpnow安装ssl证书,其实就是在Apache上配置ssl证书,步骤如下:
一、安装openssl
下载Openssl安装包并解压,推荐使用默认配置 make make install //编译及安装 ,openssl默认将被安装到/usr/local/ssl。
二、 让apache支持ssl,编译的时候,要指定ssl支持
静态方法即–enable-ssl=static –with-ssl=/usr/local/ssl
动态方法–enable-ssl=shared –with-ssl=/usr/local/ssl
其中第二种方法会在module/ 目录下生成 mod_ssl.so 模块,而静态不会有,当然第二种方法也需要在httpd.conf 中加入LoadModule ssl_module modules/mod_ssl.so
三、获取SSL证书
1)创建私钥。在创建证书请求之前,您需要首先生成服务器证书私钥文件。
cd /usr/local/ssl/bin //进入openssl安装目录
openssl genrsa -out server.key 2048 //运行openssl命令,生成2048位长的私钥server.key文件。如果您需要对 server.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥,Linux环境下使用加密格式私钥时,每次重启Apache都需要您输入该私钥密码(例:openssl genrsa -des3 -out server.key 2048)。
cp server.key /usr/local/apache/conf/ssl.key/
2)生成证书请求(CSR)文件
openssl req -new -key server.key -out certreq.csr
Country Name: //您所在国家的ISO标准代号,中国为CN
State or Province Name: //您单位所在地省/自治区/直辖市
Locality Name: //您单位所在地的市/县/区
Organization Name: //您单位/机构/企业合法的名称
Organizational Unit Name: //部门名称
Common Name: //通用名,例如:。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。
Email Address: //您的邮件地址,不必输入,直接回车跳过
“extra”attributes //以下信息不必输入,回车跳过直到命令执行完毕。
3)备份私钥并提交证书请求
请将证书请求文件certreq.csr提交给安信证书,并备份保存证书私钥文件server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用。
四、安装SSL证书
为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。
从邮件中获取中级CA证书:
将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”)粘贴到同一个记事本等文本编辑器中,中间用回车换行分隔。修改文件扩展名,保存为conf/ssl.crt/intermediatebundle.crt文件(如果只有一张中级证书,则只需要保存并安装一张中级证书)。
五、完成apache配置 2.0的配置
httpd.conf 中增加
Listen443
NameVirtualHost *:443
DocumentRoot “/data/web/www”
ServerName aaa.com:443
ErrorLog “logs/error.log”
CustomLog “logs/access.log” combined
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/intermediatebundle.crt
关于php+https+on的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于关于php+https+on的信息的详细内容...