下载证书
- 阿里云的单域名免费证书需要自己在购买菜单点点点才能点出来,优秀的产品经理
- 然后在控制台 ssl 模块进行证书申请即可
- 开放安全组 443 端口
nginx 配置
- 需要编译带上
--with-http_ssl_module
- 安装
openssl
apt-get install openssl libssl-dev
./configure --prefix=/home/soft/nginx_demo
--with-http_ssl_module
server 字段
-
指令
ssl
| Syntax: |**ssl**
on|
off;
| | :—- | —- | | Default: | ssl off; | | Context: |http
,server
| | Desc: | 是否 开启 ssl |
ssl_certificate
| Syntax: |**ssl_certificate**
file;
| | :—- | —- | | Default: | — | | Context: |http
,server
| | Desc: | 设置证书文件路径 |
ssl_certificate_key
| Syntax: |**ssl_certificate_key**
file;
| | :—- | —- | | Default: | — | | Context: |http
,server
| | Desc: | 设置密钥文件路径 |
优化
- keepalive 优化
- 设置 ssl session 缓存
ssl_session_cache
| Syntax: |**ssl_session_cache**
off|
none| [
builtin[:
size]] [
shared:
name:
size];
| | :—- | —- | | Default: | ssl_session_cache none; | | Context: |http
,server
| | Desc: | 设置关于存储会话参数的缓存的类型和大小 | | Params: |
-off
严格禁止使用会话缓存:nginx显式地告诉客户端会话可能不会被重用
-none
不允许使用会话缓存:nginx告诉客户端可以重用会话,但实际上并不在缓存中存储会话参数。
-builtin
在OpenSSL中构建的缓存;仅供一个 worker process 使用。缓存大小在会话中指定。如果没有给出大小,则等于20480个会话。使用内置缓存会导致内存碎片。
-shared
设置在所有 worker process 之间的共享缓存。缓存大小以字节为单位指定;1兆字节可以存储大约4000个会话。每个共享缓存应该有一个任意的名称。具有相同名称的缓存可以在多个虚拟 server 中使用。
|
ssl_session_timeout
Syntax: | **ssl_session_timeout** time; |
---|---|
Default: | ssl_session_timeout 5m; |
Context: | http , server |
Desc: | 指定客户端重用会话参数的时间 |
附录
配置文件如下 ```json server {
listen 80;
server_name www.nekosighed.com;
location / {
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
}
} server {
listen 443 ssl;
server_name www.nekosighed.com;
# 开启 https
# ssl on;
ssl_certificate /home/soft/nginx_demo/cert/www.nekosighed.com.pem;
ssl_certificate_key /home/soft/nginx_demo/cert/www.nekosighed.com.key;
# session cache
ssl_session_cache shared:ssl_session_key:10m;
ssl_session_timeout 10m;
# 阿里云配置中额外添加的
#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 static;
index index.html index.htm;
}
}
```