Nginx配置https
1、安装Nginx
Section titled “1、安装Nginx”在centos上,直接使用yum安装Nginx
yum install nginx -y完成安装后,使用nginx命令启动Nginx:
ningx# 或者systemctl start nginx此时,使用http://ip地址或者域名 可以看到Nginx的测试页面
无法访问,可以尝试重启nginx: ningx -s reload
2、ssl证书部署
Section titled “2、ssl证书部署”可以在阿里云或者腾讯云申请免费证书, 免费期限一年, 更长期限或者其他类型,可能需要购买了。
将申请到的证书,下载到本地(key文件和crt文件)。
将证书上传到服务器/etc/nginx目录:
scp ssl.key root@xx.xx.xx.xx:/usr/nginxscp pen.crt root@xx.xx.xx.xx:/usr/nginx3、修改nginx配置
Section titled “3、修改nginx配置”Nginx 配置目录在 /etc/nginx/conf.d,在该目录创建 ssl.conf
/etc/nginx/conf.d/ssl.conf配置:
server { listen 443; server_name www.example.com; # 改为绑定证书的域名 # ssl 配置 ssl on;
# 证书的地址, 如果证书在/etc/nginx, 则可以只写文件名称 ssl_certificate pem.crt; # 改为自己申请得到的 crt 文件的名称 ssl_certificate_key ssl.key; # 改为自己申请得到的 key 文件的名称
# ssl 相关配置 ssl_session_timeout 5m; # 缓存有效期 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 安全链接可选的安全协议 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #加密算法 ssl_prefer_server_ciphers on; # 使用服务端的首选算法
location / { root html; index index.html index.htm; } }将http重定向到https
server { listen 80; server_name www.example.com; # 改为证书绑定的域名 return 301 https://$server_name$request_uri;}一次额外的重定向可能会增加数百毫秒访问延迟,这不利于用户体验,并可能最终影响到网站上的业务,此外重定向通常会触发与额外域名建立连接。因为这里是同一个域名的重定向,所以可以使用rewrite避免重定向
使用rewrite避免重定向
server { listen 80; server_name www.example.com; # 改为证书绑定的域名 rewrite ^(.*)$ https://$server_name$request_uri;}4、重启Nginx
验证nginx配置是否正确
# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful重启nginx, 重新加载配置使其生效:
nginx -s reload在浏览器通过https访问域名来测试HTTPS是否成功启动