配置ssl证书实现https访问基于linux和nginx环境

1、 准备好ssl证书,这里我是通过阿里云服务器购买的,购买并申请审核通过后下载证书。

在这里插入图片描述
2、 进入linux的nginx的配置文件新建一个文件夹ssl,然后把证书拷进去。
cd /usr/local/nginx/conf
mkdir ssl
cd ssl
在这里插入图片描述
3、 然后打开nginx的配置文件进行修改。因为http是80端口,https是443端口,所以把之前listen80端口#号注释。改成listen 443 ssl;
下配置下发新增如下:ssl_certificate和ssl_certificate_key指向对应的证书存放路径。
在这里插入图片描述
下面是配置:

server {
   server_name 域名;
  # listen 80;
   listen 443 ssl;   

   index index.php index.htm index.html;
   access_log /data/nginx/logs/game.t.360os.com.access.log combinedio;
   error_log /data/nginx/logs/error.log;
   
   location / {
       root /data/project/chrome/html/dist/;
       index  index.html index.htm;
           if (!-e $request_filename) {
               rewrite ^/(.*) /index.html last;
               break;
           }
   }
    ssl on;
    ssl_session_cache shared:SSL:50m;
    ssl_session_timeout 300;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    ssl_certificate /usr/local/nginx/conf/ssl/2682986__searcher.mobi.pem;
    ssl_certificate_key /usr/local/nginx/conf/ssl/2682986__searcher.mobi.key;

}

4、 配置完后 /usr/local/nginx/sbin/nginx -t 进行校验,在校验过程中,如果是第一次配证书可能会保错:
在这里插入图片描述
这种情况下是因为nginx缺少ssl模块,需要重新安装ssl模块。
首先我们进入nginx的最开始压缩包解压的目录下输入命令:
4.1 执行./configure --with-http_ssl_module(注:如果报错则是因为SSL依赖OpenSSL库,而缺少这个库。所以需要执行yum -y install openssl openssl-devel安装,等它安装完再执行./configure)
4.2 执行make。
4.3 执行
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
(之前的nginx解压目录下objs会对出一个nginx文件。这个就是新版的nginx,把之前的备份一下,然后把新的复制过去覆盖即可,当然因为nginx是启动的,可能覆盖不了,所以需要先停止nginx服务再覆盖)

5、最后再执行./sbin/nginx -t 校验和./sbin/nginx -s reload重启加载即可。

6、我们看很多网站请求http的时候重定向到https上,那么如何进行配置http重定向到https上呢?
我们可以在之前nginx配置文件里面再起一个server,然后进行如下配置:

server {
       listen       80;
       server_name  searcher.mobi;
       rewrite ^ https://$http_host$request_uri? permanent;  
   }

6、 如果想同时开启http和https共用的话,可配一个server:

server { 
listen 80;
listen 443 ssl; 
   ……
server_name 域名; 
ssl_certificate 证书路径; 
ssl_certificate_key 证书key路径;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值