Apache/Nginx+php https配置
一,以windows phpstudy Apache+php 为例
第1步:PHP 开启php_openssl扩展
在phpstudy操作界面中找到PHP扩展设置,在php_openssl扩展前打钩选中重启phpstudy服务。
或在PHP安装目录中找到php.ini文件,搜索;extension=php_openssl.dll 将行首的分号去掉保存。
第2步:apache开启ssl模块
在apache安装目录中找到conf/httpd.conf
查找#LoadModule ssl_module modules/mod_ssl.so 去掉行首的#号 保存
查找#Include conf/extra/httpd-mpm.conf 去掉行首的#号 保存 参考链接:高性能apache服务器配置MPM模块
查找#Include conf/extra/httpd-ssl.conf 去掉行首的#号 保存 这个文件里配置了https的虚拟主机,可不使用直接按第3步配置
第3步:配置Apache虚拟主机
在apache配置文件 conf/httpd.conf中查找 Include conf/vhosts.conf 这个意思是将虚拟主要配置都放在了conf/vhosts.conf文件中,方便配置。
在 Include conf/vhosts.conf 行下增加一行Include conf/vhostsssl.conf,意思是将https的虚拟主要配置在这个文件中,方便配置。不同事环境下配置代码的位置不同,可根据实际情况调整。
conf/vhostsssl.conf文件内容Listen 443
<VirtualHost test.dingfei.com:443> ServerName test.test.com ServerAlias test.test.com DocumentRoot "D:\htdocs\test_ssl" SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL SSLCertificateFile "F:\ProgramData\phpStudy\PHPTutorial\Apache\conf\ssl\server.crt" #测试证书请求文件server.csr SSLCertificateKeyFile "F:\ProgramData\phpStudy\PHPTutorial\Apache\conf\ssl\server.key" #私钥文件 SSLCertificateChainFile "F:\ProgramData\phpStudy\PHPTutorial\Apache\conf\ssl\ca-bundle.crt" #服务器证书文件
</VirtualHost>
apache默认有测试证书文件在conf/ssl目录中,如想重新生成可参考 apache2.4配置https协议(key文件、crt文件、csr文件生成方法)
第4步:访问测试
浏览器输入配置的url https://test.test.com进行访问查看是否正常
二,以windows phpstudy Nginx+php 为例
第1步:PHP 开启php_openssl扩展
在phpstudy操作界面中找到PHP扩展设置,在php_openssl扩展前打钩选中重启phpstudy服务。
或在PHP安装目录中找到php.ini文件,搜索;extension=php_openssl.dll 将行首的分号去掉保存。
第2步:Nginx开启ssl模块
Nginx已经默认开启不需要操作
第3步:配置Apache虚拟主机
在Nginx配置文件 中conf/nginx.conf中查找 include vhosts.conf; 这个意思是将虚拟主要配置都放在了conf/vhosts.conf文件中,方便配置。
在 Include conf/vhosts.conf 行下增加一行Include conf/vhostsssl.conf,意思是将https的虚拟主要配置在这个文件中,方便配置。不同事环境下配置代码的位置不同,可根据实际情况调整。
vhostsssl.conf内容
server {
listen 443 default ssl;
ssl on;
ssl_certificate "F:\ProgramData\phpStudy\PHPTutorial\Apache\conf\ssl\server.crt";
ssl_certificate_key #这里使用apache中的证书文件和密钥 "F:\ProgramData\phpStudy\PHPTutorial\Apache\conf\ssl\server.key";
server_name test.test.com ;
root "D:/htdocs/test";
location / {
index index.html index.htm index.php;
#autoindex on;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
第4步:访问测试
浏览器输入配置的url https://test.test.com进行访问查看是否正常

浙公网安备 33010602011771号