一. 配置SSL证书 证书说明:这里使用的证书是阿里云个人一年免费的SSL证书,只需要在阿里云上申请即可获得。
web服务器说明:这里采用的web服务器是Nginx服务器。
服务器操作系统说明:这里使用的是Centos 7.x系统。
终端登陆工具与FTP工具说明:这里使用的是Xshell与Xftp工具。 1. 下载证书1.登陆到阿里云控制台,今天证书安全下载界面,选择Nginx/Tengine,下载证书,并解压到桌面。
2. 上传证书到服务器1.登陆到服务器,并进入到Nginx目录。
2.创建证书存放目录:
3.使用Xftp将证书上传至新建的目录下:
3. 配置Nginx使其支持SSL证书1.进入nginx下的conf.d目录,创建一个新的.conf文件,命名为ssl.域名.conf(命名可任意,但需以.conf结尾)。
2.为新建的.conf文件添加如下代码: server { listen 443; #------------------------------------ # 修改为你的域名 server_name 域名.com www.域名.com; #------------------------------------ ssl on; #----------------------------------------------------- # root目录,即为你网站的存放目录 root /mnt/www/域名.com/public_html/wordpress/; #------------------------------------------------------ index index.html index.htm index.php; #-------------------------------------------------------------------- # 将下面两行修改为SSL证书存放路径 ssl_certificate /etc/nginx/ssl/域名.com/214190949470644.pem; ssl_certificate_key /etc/nginx/ssl/域名.com/214190949470644.key; #-------------------------------------------------------------------- ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; #---------------------------------------------------------------------------- # 以下为Nginx的基本配置 location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } #------------------------------------------------------------------------------}[size=0.8em]Bash
[size=0.8em][url=]Copy[/url]
3.测试下配置的正确性,成功后重启下Nginx,再打开浏览器测试HTTPS是否能正常访问。
另外说明:可以看到目前conf.d目录里有3个以.conf结尾的配置文件,basic.conf为基本的解析配置文件;域名.conf为不使用SSL证书的http配置文件;ssl.域名.com为新增加的使用SSL证书的HTTPS配置文件。因此,在目前未配置301重定向的情况下,打开浏览器测试网站的时候,可以发现网站即可正常访问http,也可以正常访问https。
二. 为Nginx配置301重定向说明:在上面结尾说了,目前网站的状态应该是http和https都可以正常访问。现在则为Nginx配置一下301重定向,这样当访问网站的时候就会自动定向到https,而不会在通过http访问网站了。 配置301重定向1.进入Nginx配置目录,打开http的配置文件
2.编辑域名.conf配置文件 # 删除所有其他代码,仅添加如下代码即可server { listen 80; #------------------------------------ # 将“域名”改为你自己的域名 server_name 域名.com www.域名.com; #------------------------------------ return 301 https://$host$request_uri;}[size=0.8em]Bash
[size=0.8em][url=]Copy[/url]
注意:这里编辑的是域名.conf,而不是ssl.域名.conf!!!
3.重启Nginx,打开浏览器测试 systemctl restart nginx[size=0.8em]Bash
[size=0.8em][url=]Copy[/url]
配置至此,网站已经只会再通过https访问了。
|