Nginx 配置 HTTPS

HTTPS简介

HTTPS可以理解为HTTP over SSL,即HTTP连接建立在SSL安全连接之上(Https+ssl)

SSL介绍:
    SSL(Secure Socket Layer)安全套接字层是一种数字证书,它使用ssl协议在浏览器和web server之间建立一条安全通道,数据信息在client与server之间的安全传输。SSL使用证书来创建安全连接,通常有两种验证模式:
仅客户端验证服务器的证书,客户端自己不提供证书;
客户端和服务器都互相验证对方的证书。
注意:编译安装的Nginx默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数,没有安装的话可以重新安装

OpenSSL自签证书

  1. 创建服务器私钥,需要输入一个口令

    openssl genrsa -des3 -out server.key 4096
    
  2. 创建签名请求的证书(CSR)
    中间会输入一些东西,默认就好了

    openssl req -new -key server.key -out server.csr
    
  3. 在加载SSL支持的Nginx并使用上述私钥时除去必须的口令

    openssl rsa -in server.key -out server_nopass.key
    
  4. 最后标记证书使用上述私钥和CSR

    openssl x509 -req -days 365 -in server.csr -signkey server_nopass.key -out server.crt
    

执行后的结果:
在这里插入图片描述
其中server.crt,server_nopass.key是我们需要的

Nginx 配置 SSL

Nginx支持SSL其实只需要配置你生成的公钥跟私钥,只需要这两个文件就行了

注释掉的是原来生成的证书,本篇教程重新再生成一次,为了体验好一点把http的流量转到了https

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
	    return 301 https://$host$request_uri;	
    }

    server {
        listen       443 ssl;
        server_name  localhost;

	    ssl_certificate      /home/ssl/server.crt; # 证书路径
	    ssl_certificate_key  /home/ssl/server_nopass.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;
        }
    }

}

启动nginx访问网站出现非私密链接,再高级中继续访问就行了,因为我们这个是自己生成的证书

在这里插入图片描述
在这里插入图片描述
至此我们的https已经搭建成功了!!!!!!!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值