nginx https配置

nginx安装

下载地址:http://nginx.org/en/download.html

  • 依赖安装:
#检查依赖包是否安装  举例
dpkg -l | grep zlib
#依赖包openssl安装
sudo apt-get install openssl libssl-dev
#依赖包pcre安装
sudo apt-get install libpcre3 libpcre3-dev
#依赖包zlib安装
sudo apt-get install zlib1g-dev
  • 安装
tar -xvf nginx-1.14.0.tar.gz
mv nginx-1.14.0/ nginx
cd nginx/
./configure --prefix=/usr/local/nginx  --with-http_ssl_module
make && make install
  • 启动
cd /usr/local/nginx
#启动命令
./sbin/nginx
#停止
./sbin/nginx -s stop
#重启
./sbin/nginx -s reload
#检测nginx配置是否正常
./sbin/nginx -t

证书制作

  • 制作CA证书
#生成CA私钥
openssl genrsa -des3 -out ca.key 2048
#输入密码123456
# ca.crt CA根证书(公钥)
openssl req -new -x509 -days 7305 -key ca.key -out ca.crt

在这里插入图片描述

  • 制作生成网站的证书并用CA签名认证

假设网站域名为:www.test.com

#生成www.webkaka.com证书私钥
openssl genrsa -des3 -out www.test.com.pem 1024
#输入密码123qwe
#制作解密后的www.test.com证书私钥
openssl rsa -in www.test.com.pem -out www.test.com.key
#生成签名请求
openssl req -new -key www.test.com.pem -out www.test.com.csr
#用CA签名
openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in www.test.com.csr -out www.test.com.crt

在这里插入图片描述

用CA签名如出现如上错误解决方法:
mkdir demoCA
mkdir demoCA/newcerts
cd demoCA
#新增空文件
touch index.text
#新增serial文件 并添加内容02
echo 02>serial

  • 配置
server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      /home/ubuntu/ca/www.test.com.crt;
        ssl_certificate_key  /home/ubuntu/ca/www.test.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
 }

访问网址:https://127.0.0.1

在这里插入图片描述

  • 优化
    在http{}中加入:

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

据官方文档所述,cache中的1m可以存放4000个session。

在配置https的虚拟主机server{}中加入:

keepalive_timeout 70;

强制http访问自动跳转到https

listen 80;
if ($scheme = http) {
return 301 https://$host$request_uri;
}
在这里插入图片描述
访问:http://127.0.0.1 自动跳转到https://127.0.0.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值