弄个免费的https玩玩
上班有几天了,突然接到电话说阿里云的ECS可以有免费的ssl证书可以领,我寻思当时看的时候不是收费的嘛(好像还老贵了,贫穷😄)。抽空去看了一眼,原来门道有点西小多,多点几下就能看到免费的了。
工具/软件
步骤
- 老规矩去弄个ECS+域名呗,不然弄个锤子https。
- 然后去阿里云的SSL,官网就再上面。正常打开的话,看到的可能不太一样(没错我指的是价格)。修改一下选项,然后就免费了… 😂
- 选择单个域名
- 选择DV域名级SSL
- 选择免费版
- 在证书托管服务里选择否
-
然后付钱就不教了,下面进入部署环节。
-
然后进入账号的SSL证书控制台,领一下刚买的证书,然后就可以愉快的如下图了。
-
选下载,当前网站部署由于是用的nginx反代,那就对应着下。
-
下载的东西是一个压缩包,里面有一个pem结尾(证书文件)和一个key结尾(密钥文件)的东西。这俩东西自己改个随意的名字丢到一个随意的文件夹里去,然后秘密的丢到服务器上去,一会儿要用。
-
准备一个default.conf用来写nginx的一些小秘密:
server { listen 80; server_name jwxie.cn; # 搁着填你自己的哈 # 其实localhost也行,但是试了下ios自带的safari会在转跳的时候会显示转跳到https://localhost # windows上IR/Chrome/Edge就很正常,很迷幻... rewrite ^(.*)$ https://${server_name}$1 permanent; # 转跳http到https } server { listen 443 ssl; # 之前试过不加ssl,换着在下面加ssl on;但是好像8行了。 server_name localhost; # root html; # index index.html index.htm; ssl_certificate cert/jwxie.cn.pem; # 搁着填刚才那个证书文件的地址 ssl_certificate_key cert/jwxie.cn.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; location / { root /path/to/your/自个儿的; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location /50x.html { root /path/to/your/nginx/html; } }
-
然后悄咪咪的进入部署服务器的身体,悄咪咪地创建一个文件夹,把那个随意的文件夹丢进来(这里就叫他cert文件夹了),弄个新的Dockerfile,里面写一些小秘密。
FROM nginx:alpine
COPY /path/to/your/nginx default.conf /path/to/your/nginx default.conf
COPY /path/to/your/'cert' folder /path/to/your/nginx/cert
# Other build commands ...
- 把你的网站文件也丢到这个文件夹里面来 …
- docker build …
- docker run … (别忘了绑定80和443端口)
- 打开浏览器,测试一下,成功就OVER,不成功下次再说…
总结
⭐九折?么的总结⭐