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进行访问查看是否正常

 

posted @ 2019-02-21 09:39  cyberpunk_blog  阅读(52)  评论(0)    收藏  举报