【Day11】Nginx实战训练营
41 配置Nginx单向SSL
先看机器里安装的 nginx 有没有安装 ssl 模块,yum 安装的可以 nginx -V,编译安装的可以 /usr/local/nginx/sbin/nginx -V
一般 yum 安装的 nginx 都已经自带 ssl 模块,而编译安装的需要重新编译安装。
./configure --with-http_ssl_module --prefix=/usr/local/nginx
make && make install
- Nginx 单向配置示例:
cp /etc/pki/ca_test/server/server.* /usr/local/nginx/conf/
或者改变 ssl_certificate 参数绝对路径
server {
listen 443 ssl;
server_name www.1.com;
index index.html index.php;
root /data/wwwroot/1.com;
ssl on;
ssl_certificate /etc/pki/ca_test/server/server.crt;
ssl_certificate_key /etc/pki/ca_test/server/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!eNULL;
ssl_prefer_server_ciphers on;
}
-
报错:
nginx: [warn] the “ssl” directive is deprecated, use the “listen … ssl” directive instead in /etc/nginx/conf.d/www.1.com.conf:6 -
解决:
将 ssl on; 这行注释掉
- 配置说明:
- 443 端口为 ssl 监听端口。
- ssl on 表示打开ssl 支持。
- ssl_certificate 指定 crt 文件所在路径,如果写相对路径,必须把该文件和 nginx.conf 文件放到一个目录下。
- ssl_certificate_key 指定 key 文件所在路径。
- ssl_protocols 指定 SSL 协议。
- ssl_ciphers 配置 ssl 加密算法,多个算法用:分隔,ALL 表示全部算法,! 表示不启用该算法,+ 表示将该算法排到最后面去。
- ssl_prefer_server_ciphers 如果不指定默认为 off,当为 on 时,在使用 SSLv3 和 TLS 协议时,服务器加密算法将优于客户端加密算法。
42 配置Nginx双向SSL
cp /etc/pki/ca_test/root/ca.crt /usr/local/nginx/conf/
- Nginx 双向配置示例:
server {
listen 443 ssl;
server_name www.1.com;
index index.html index.php;
root /data/wwwroot/1.com;
ssl on;
ssl_certificate /etc/pki/ca_test/server/server.crt;
ssl_certificate_key /etc/