一、 安装acme.sh
1 2 3 4 5 6 7 8 9 10 11
| 1.mkdir ~/.acme.sh
2. 在~/.acme.sh目录下运行 curl https://get.acme.sh | sh 等待安装完成
3. alias acme.sh=~/.acme.sh/acme.sh
4. 编译安装socat wget http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz ./configure --prefix=$HOME && make && make install
|
二、 关闭nginx服务器,确保80和443端口是通的
三、使用acme.sh申请和安装证书
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 1.acme.sh假装自己是一个webserver,临时监听80端口, 完成验证 acme.sh --issue --standalone -d example.com
安装完成后会告诉你证书的安装地址一般是在/root/.acme.sh/example.com/
2.验证完成之后记得启动nginx服务器 /path/to/nginx/nginx/sbin/nginx
3. 安装证书 acme.sh --installcert -d example.com \ --keypath /path/to/nginx/ssl/example.com.key \ --fullchainpath /path/to/nginx/ssl/example.com.key.pem \ --reloadcmd "/path/to/nginx/nginx/sbin/nginx -s reload"
4. 运行以下命令 openssl dhparam -out /path/to/nginx/ssl/dhparam.pem 2048
|
四、更新nginx配置文件(放在server模块里面)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| listen 80 ; listen 443 ssl; server_name example.com; charset utf-8;
if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; }
ssl_certificate /path/to/nginx/ssl/example.com.key.pem; ssl_certificate_key /path/to/nginx/ssl/example.com.key; ssl_dhparam /path/to/nginx/ssl/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; error_page 497 https://$host$request_uri;
|
然后reload一下nginx,就大功告成了!