最近一段时间发现好多网站都从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~