LINUX学习-Nginx实现https

一、环境准备

  1、安装nginx时,需要将--with-http_ssl_module 模块开启。

  2、关闭selinux和防火墙

  3、在 /usr/local/nginx/html/ 目录下添加bbs目录,并且在里面添加index.html,里面内容随便加。

二、修改nginx.conf 配置文件

  添加server,由于https加密之后的访问端口是443,所以server服务器要改成443.

server {
        listen 443;
        server_name bbs.com;
        index index.html index.htm index.php;
        root html/blog;
        access_log logs/bbs-access.log main;
        location ~ \.php$ {
            root           html/bbs;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }
ssl on;
ssl_certificate /usr/local/nginx/conf/ssl/testnginx.crt; #证书路径
ssl_certificate_key /usr/local/nginx/conf/ssl/testnginx.key; #秘钥路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
}

但是,浏览器一般支持的80端口,所以要再添加一个server,将请求强制转换为80端口

  rewrite 的作用是  将请求重定向到https://下

server {
        listen 80;
        server_name bbs.com;
        rewrite ^(.*)$ https://bbs.com permanent;
        root html/bbs;
        index index.html index.htm;
}

三、生成加密证书和秘钥

  1、生成秘钥

  

openssl genrsa -out testnginx.key 1024

  2、生成证书申请

  

openssl req -new -key testnginx.key -out testnginx.csr

  3、生成证书

openssl x509 -req -days 365 -sha256 -in testnginx.csr -signkey testnginx.key -out testnginx.crt

 然后将证书和秘钥放到  /usr/local/nginx/conf/ssl/  目录下

 

 测试

windows下

  编辑 C:\Windows\System32\drivers\etc\ 下的hosts文件

  在最下面添加

  

192.168.88.10   bbs.com

  意思是将bbs.com 解析

 

  实验效果:

  

 

posted @ 2020-05-06 15:20  xxxxxyq  阅读(312)  评论(0编辑  收藏  举报