如何为开发环境模拟https环境/ SSL证书?

时间:2011-10-19 05:29:45

标签: php ssl https

我有一个PHP应用程序,它在这样的生产上运行:

<?php

    /*
    Do some work here
    */

    /* if https environment, redirect to secure next url */
    if(empty(isset["HTTPS"]) == true )  /* FIRST DEPENDECY */
    {
      header("location : https://mynext_prod_url?parameters"); /*SECOND DEPENDENCY */
    }
    else
    {
       header("location : http://mynext_prod_url?parameters");
    }
?>

这在安装了SSL证书的生产中非常有效。 为了模拟开发中的相同场景,我可以克服第一个依赖, 但我怎么能克服第二个?

/ *带有变通方法的开发示例* /

  <?php

        /*
        Do some work here
        */
        $_SERVER['HTTPS'] = "TRUE" ;         /* fake HTTPS  */   

        if(isset($_SERVER["HTTPS"]) == true )  /* FIRST DEPENDECY SOLVED */
        {
          /* BUT THIS URL DOES NOT WORK AS IT ONLY EXISTS ON HTTP */
          header("location : https://mynext_dev_url?parameters"); 
        }
        else
        {
           header("location : http://mynext_dev_url?parameters");
        }
    ?>

如何安装临时证书以用于开发目的? 或以某种方式伪造环境。

1 个答案:

答案 0 :(得分:2)

您可以创建可在开发中使用的自己的证书。平台创建证书的机制各不相同。这是一篇关于如何在Windows上使用XAMPP创建一个文章的文章:

http://jaswanttak.wordpress.com/2010/04/15/configure-ssl-on-xampp-and-windows/