Nginx(8):nginx实现https

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

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stab_status_module

make && make install

注:如果nginx已安装,可通过新的解压源码包重新编译,再将/root/nginx-1.14.1/objs/nginx拷贝到已安装目录/usr/local/nginx/sbin/ (可备份原有nginx文件),拷贝前需stop已安装nginx服务

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stab_status_module

make     #不需要继续make install

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

cp /root/nginx-1.14.1/objs/nginx /usr/local/nginx/sbin/

 

2、对加密的server标签添加SSL

server {
  .......;
  ssl on;
  ssl_certificate /usr/local/nginx/conf/ssl/atguigu.crt;
  sl_certificate_key /usr/local/nginx/conf/ssl/atguigu.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+AES2 56:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5
}

3、生成密钥和证书文件

# openssl genrsa -out atguigu.key 1024
建立服务器私钥,生成 RSA 密钥 

# openssl req -new -key atguigu.key -out atguigu.csr  
需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域 名。如果为了 https 申请,
这个必须和域名吻合,否则会引发浏览器警报。生成的 csr 文件交给 CA 签 名后形成服务端自己的证书 

# openssl x509 -req -days 365 -sha256 -in atguigu.csr -signkey atguigu.key -out atguigu.crt  
生成签字证书 

# cp atguigu.crt /usr/local/nginx/conf/ssl/atguigu.crt 
# cp atguigu.key /usr/local/nginx/conf/ssl/atguigu.key 
将私钥和证书复制到指定位置

4、设置http自动跳转https

修改原有server标签监听端口

server {
  ..........;
  listen 443;
}

新增server标签

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

重启nginx,测试

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值