首先关于证书,CA证书获取方式比较多,因为对运维了解不多,主要会依赖阿里本身的配置。而且主要目的是自己玩玩就找的免费的~
https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.22322b7aezTOvr&commodityCode=cas#/buy
证书的获取的时候比较套路,商家嘛,免费的一定不会就在面上。套路来了~
1.选择证书申请
注意证书类型!选择:Symantec
这个表面看起来是最贵的,但是!只要选择一个域名就会“神奇”的看到第一行选项就会多出来一个含有免费这两个亲切友好的文字
2.填写相关信息进行申请
3.从邮件进行登入“激活”
4.这时候证书订单的列表里有一个类似于订单号的一行信息,进去就可以看到下载证书和相关配置方式
下面说下我在这个过程中遇到的第二个“套路”
在配置的时候回告诉你你的nginx/config/nginx.conf。但是熟悉套路的都知道,这个位置无所谓~一般多个域名管理我们会新建一个文件夹管理各个配置文件。于是~我去了我的config~此刻我出现了第一个问题,我复制了提示中的部分,然后合并提示修改进行了简单的配置。这时候重启Nginx服务,发现并没有什么效果,https依然没起作用。
机智的我自然开始细看喽,修改了域名,根路径,添加了各种我原本配置的方式~OK~再来一次重启,然而失望了。我并没有找到最后一个问题~于是我关掉了服务。在开启的时候发现有一个提示信息,我开始怀疑是不是我配置文件写的不对~
这个时候,我用了Nginx 的configstest。问题果然出来了,哦~我的上帝~原来是被模板迷惑了眼睛~
哈哈。是“HTTP SEVER”这个标记。这个鸡肋的标记没被理解~谨慎的注释掉,神奇的就好了。。。(苦笑不得脸)
看下最后的配置方式:
server{
listen 80;
listen 443 ssl;
server_name ***.**;
index index.php index.html;
root /home/wwwroot/***/;
include enable-php.conf;
ssl_certificate /usr/local/nginx/cert/214569065620278.pem;
ssl_certificate_key /usr/local/nginx/cert/214569065620278.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
location /nginx_status
{
stub_status on;
access_log off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/access.log;
}
这里listen写了两个是为了http和https都可以访问