上次写过一篇Linux下Nginx的搭建文章,这篇是补充SSL证书的安装与http请求转换成https请求.
SSL证书是什么?
当你点击证书的时候已经给了很明确的说明
1.保证远程计算机的身份
2.向远程计算机证明你的身份
如果你很熟悉Nginx的话,那么在Nginx下安装SSL证书将会是一件很简单的事情.当然证书的安装方式有很多种,需要根据系统和所使用的软件不同来下载相关的资源,这里我们就不在赘述,我们只关注Nginx下相关的就OK了。
http默认请求是不是走https的,所以当你没有配置所有请求都走https的时候,你的域名通过http和https都是可以访问的,但是这样就没有任何意义了,所以我们一起来配置Nginx吧
nginx 配置
如果您已经有域名以及域名对应的SSL证书存放在/data/release/nginx/目录下,请将下面配置内容中的
- [1] 替换成您自己的域名
- [2-1] 替换成SSL证书的crt文件名
- [2-2] 替换成SSL证书的key文件名
upstream app_weapp {
server localhost:5757;
keepalive 8;
}
#http请求转为 https请求
server {
listen 80;
server_name [1];
rewrite ^(.*)$ https://$server_name$1 permanent;
}
#https请求
server {
listen 443;
server_name [1];
ssl on;
ssl_certificate /data/release/nginx/[2-1];
ssl_certificate_key /data/release/nginx/[2-2];
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;
ssl_session_cache shared:SSL:50m;
ssl_prefer_server_ciphers on;
# tomcat默认端口是8080,nginx 将请求转发给tomcat处理
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
运行服务
输入命令,启动Nginx服务。nginx -s reload
配置后的请求查看
F12 打开开发者模式,查看信息.