博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在阿里云里申请并使用免费https证书SSL、nginx下配置https证书
阅读量:6820 次
发布时间:2019-06-26

本文共 4693 字,大约阅读时间需要 15 分钟。

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

  废话不多说,直接上步骤:

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

  

  2、进入之后点击右上角“购买证书”

  

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

  

 

   4、选好之后点击购买即可

  

  5、付完款之后返回证书控制台

  

  6、点击申请,按照需求填写相关信息,然后点下一步,验证即可。提交审核后稍等几分钟就能通过审核了。

  

  证书通过之后,接下来就是配置的事了。这里以nginx为例。

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

  

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

   

  3、配置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;       		# }    	}

  4、重启nginx即可。

  

 

 

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

  1、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访问你的网站了:

  

 

  补充几点:

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

./configure: error: SSL modules require the OpenSSL library.You can either do not enable the modules, or install the OpenSSL libraryinto the system, or build the OpenSSL library statically from the sourcewith nginx by using --with-openssl=
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一下就行了。

 

  2、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(微信同号)

 

  

  

 

转载于:https://www.cnblogs.com/zlfProgrammer/p/10138029.html

你可能感兴趣的文章
我的友情链接
查看>>
我的友情链接
查看>>
Kubernetes NFS存储服务的误报
查看>>
meta设置
查看>>
sed 行编辑器知识汇总
查看>>
nginx升级OpenSSL
查看>>
C++中Timer的用法
查看>>
报表软件JS开发引用HTML DOM的location和document对象
查看>>
Windows7 Python-3.6 安装PyCrypto(pycrypto 2.6.1)出现错误以及解决方法
查看>>
《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串...
查看>>
MFC界面库BCGControlBar v25.1新版亮点四:网格控件等
查看>>
Linux下定时切割Nginx访问日志并删除指定天数前的日志记录
查看>>
zabbix 监控项目
查看>>
跨交换机实现VLAN
查看>>
Python的"print"函数在“Hello World”之外的延伸
查看>>
计划任务
查看>>
获取无序数组中第n大的数及快速排序算法使用
查看>>
我的友情链接
查看>>
MongoDB复制集原理
查看>>
Java开发(2) - Tomcat配置JNDI数据源
查看>>