如何在阿里云里申请并使用免费https证书SSL、nginx下配置https证书

  目前网站SSL证书基本已经普及了,不少站点基本都安装了SSL证书,并且目前无论是国内比较知名的云商家基本都提供免费的SSL证书。本次说的是阿里云提供的免费ssl证书。javascript

  废话很少说,直接上步骤:css

  一、登陆阿里云控制台:https://www.aliyun.com/,点开产品服务->安全(云盾)->SSL证书(应用安全),如图:html

  

  二、进入以后点击右上角“购买证书”java

  

  三、选择品牌“Symantec”-->选择保护类型“1个域名”,这时候才会出现证书类型“免费型DV SSL”,选择这个免费的便可nginx

  

 

   四、选好以后点击购买便可ubuntu

  

  五、付完款以后返回证书控制台vim

  

  六、点击申请,按照需求填写相关信息,而后点下一步,验证便可。提交审核后稍等几分钟就能经过审核了。安全

  

  证书经过以后,接下来就是配置的事了。这里以nginx为例。服务器

  一、下载证书-->选择须要的服务器类型,这里以nginx为例。微信

  

  二、下载好以后登录服务器,打开nginx目录/usr/local/nginx,新建一个文件夹cert,讲证书解压后放进cert文件夹内。

   

  三、配置nginx 

server {
       		listen       443 ssl;
		#listen  	80;
      		server_name  www.zhudada.online;
		ssl_certificate      /usr/local/nginx/cert/1631577_zhudada.online.pem;
        
		ssl_certificate_key  /usr/local/nginx/cert/1631577_zhudada.online.key;

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

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

		location ~ .*\.(js|css|ico|png|jpg|gif|mp3|eot|svg|ttf|woff|html) {
			root /home/zhudada;
			index index.html;
       		 }
    		   # location / {
      		  	#    proxy_set_header Host       $host;
       			  #   proxy_pass        http://47.107.99.77:80/index.html;
       		# }
    	}

  四、重启nginx便可。

  

 

 

  到这里须要注意几个问题:

  一、Nginx若是未开启SSL模块,配置Https时提示错误。

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:xxx

  这是因为nginx缺乏http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就好了,解决步骤:

    1:进入到源码包,如:

cd /root/nginx-1.15.6/

    2:查看nginx原有的模块

/usr/local/nginx/sbin/nginx -V

    3:查看configure arguments:后边有没有值,若是有,就复制下来。而后执行

./configure --原来有的模块(若是有的话) --with-http_ssl_module

    4:执行make

make

    5:关闭如今运行的Nginx服务器

/usr/local/nginx/sbin/nginx -s stop

      提示:若是此时报错nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:xxx,则先把有关https的配置注释再关闭。

    6:执行

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak  

    7:将新的 nginx 覆盖旧安装目录,执行

cp objs/nginx /usr/local/nginx/sbin/nginx 

    8:最后重启一下nginx便可

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    验证一下:输入/usr/local/nginx/sbin/nginx -V,这时会出现下面这种状况,说明已经成功了,能够用https访问你的网站了:

  

 

  补充几点:

  一、在上面第3步执行./configure的时候可能会出现如下报错:

./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

  解决方法: 
  Centos须要安装openssl-devel 
  Ubuntu则须要安装:sudo apt-get install libssl-dev

  这时若是报错 Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

  解决方法:

  第一种:

 

  sudo vim /etc/resolv.conf 

 

  添加nameserver 8.8.8.8

 

  第二种:

 

  /etc/apt/sources.list 的内容换成  

 

  deb http://old-releases.ubuntu.com/ubuntu/ raring main universe restricted multiverse

 

  deb-src http://old-releases.ubuntu.com/ubuntu/ raring main universe restricted multiverse

 

  deb http://old-releases.ubuntu.com/ubuntu/ raring-security main universe restricted multiverse

 

  deb-src http://old-releases.ubuntu.com/ubuntu/ raring-security main universe restricted multiverse

 

  deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main universe restricted multiverse

 

  deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main universe restricted multiverse

 

  deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse

 

  deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse

 

  deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse

 

  deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse

 

  而后sudo apt-get update一下就好了。

 

  二、nginx配置输入网址后默认跳转至https站点

     server {
		listen 80;
		server_name www.zhudada.online;
		rewrite ^(.*) https://$server_name$1 permanent;
	}
	server {
       		listen       443 ssl;
		#listen  	80;
      		server_name  www.zhudada.online;
		ssl_certificate      /usr/local/nginx/cert/1631577_zhudada.online.pem;
        
		ssl_certificate_key  /usr/local/nginx/cert/1631577_zhudada.online.key;

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

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

		location ~ .*\.(js|css|ico|png|jpg|gif|mp3|eot|svg|ttf|woff|html) {
			root /home/zhudada;
			index index.html;
       		 }
    		   # location / {
      		  	#    proxy_set_header Host       $host;
       			  #   proxy_pass        http://47.107.99.77:80/index.html;
       		# }
    	}

  

 

  到这里就结束了,若是安装配置过程当中有任何问题,能够问我

  qq: 412606846(微信同号)

相关文章
相关标签/搜索