Nginx环境下配置PHP使用的SSL认证(https)

  最近一段时间发现好多网站都从http协议变成了加密的https协议,比如说百度、吾志等等。https看起来比http高端了好多,而且在不同的浏览器向上还会显示出不同于http的URL展示效果(比如说chrome 和QQ浏览器 使用https协议的网址就会变色)。

  于是自己就想着把自己的网站加一个ssl证书,使之变成https://iwenku.net

 

  最开始我使用的是腾讯云的服务器,服务器系统是Windows,使用Windows虽然坏处挺多,但是也有好处,那就是Windows是图形化界面的,这样就简化了很多管理员的操作,比如说添加ssl证书直接在iis管理器里面点几下鼠标就行,但是最近我把服务器换成了阿里云服务器,服务器系统也换成了CentOS,服务器软件也由之前的Tomcat换成了nginx,所以使用了十几年的图形化界面也就随之而去了。。。

  在Nginx环境下配置ssl首先需要两个文件:

    一个.crt的文件和一个.key的文件

  这两个文件都需要上传到服务器上,我是使用的ftp先上传到我的网站空间里,然后连接到服务器使用cp命令把它们复制了出来,放到了/usr/local/nginx/conf/ssl文件夹里面

  在这之后就是进行配置了

  首先在/usr/local/nginx/conf文件夹里面使用vi命令用vi编辑器打开nginx.conf

  在nginx.conf里面有好多配置信息,一直往下面翻就会出现一些已经注释掉的关于HTTPS的内容

  这个里面的内容其实就是nginx默认的关于https的设置,把它稍微改一下就可以用了

  在这段注释下面就开始往里面写东西

  

server{
    listen 443;
    server_name iwenku.net;//网址
    root /mnt/XXXXXXXXXX;//网站根目录位置
    ssl on;//开启ssl
    ssl_certificate /usr/local/nginx/conf/ssl/iwenku_server.crt;
    ssl_certificate_key /usr/local/nginx/conf/ssl/iwenku_server.key;
}

  上面这是我最开始的时候写的,然后保存,重启服务器,访问https://iwenku.net 却发现直接把我的PHP源码给爆了出来。。

  之后又进入服务器,仔细看了一下 原来是把location给漏掉了,然后又在上面的基础上继续添加代码

server{
    listen 443;
    server_name iwenku.net;//网址
    root /mnt/XXXXXXXXXX;//网站根目录位置
    ssl on;//开启ssl
    ssl_certificate /usr/local/nginx/conf/ssl/iwenku_server.crt;
    ssl_certificate_key /usr/local/nginx/conf/ssl/iwenku_server.key;
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:10000;
        include fastcgi.conf;
    }
}

再重启了一下服务器,发现OK~

 

posted @ 2015-03-30 22:04  EchoSoar  阅读(10561)  评论(0编辑  收藏  举报