欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-16 13:48:33
...
  最近一段时间发现好多网站都从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~