Linux日记本_07:Nginx安装SSL证书并配置http转https,_07nginx


img_56949053298a4c91284955794553a894.png https
上次写过一篇Linux下Nginx的搭建文章,这篇是补充SSL证书的安装与http请求转换成https请求.

SSL证书是什么?

img_c9063ed6f453a7d66eaedb08c5d6ae71.png ssl证书

当你点击证书的时候已经给了很明确的说明

1.保证远程计算机的身份
2.向远程计算机证明你的身份
img_5e152fd6b46ea8e0a4281514d8276466.png 证书信息

如果你很熟悉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 打开开发者模式,查看信息.

可以看到,已经走了我们配置的443端口

img_a602f455c34437e4a76b3c92bdf38b1c.png 请求信息

相关内容