当前访客身份:游客 [ 登录  | 注册加入尚学堂]
启用新域名sxt.cn
新闻资讯

网站 https 创建

helloworld 发表于 2年前  | 评论(0 )| 阅读次数(527 )|   0 人收藏此文章,   我要收藏

在听闻: Google调整搜索引擎算法:HTTPS网站排名更高 这样一个消息后,便自觉地打算给自己的博客加上HTTPS。虽然没有多大作用,而且只有1%的网站会受影响,但是还是加了。这里的SSL证书只是自己生成的,暂时没有第三方机构认证,所以会有证书问题。只有等过些时候买一个认证的。

Nginx SSL证书创建

前提: 需要安装好Nginx。

1.创建证书存放目录

sudo mkdir /etc/nginx/ssl cd /etc/nginx/ssl

2.创建服务器密钥

sudo openssl genrsa -des3 -out server.key 1024

过程中会要求输入短语,相当于某种意义上的密码,在下一步会用到。

3.创建证书签名请求

sudo openssl req -new -key server.key -out server.csr

过程大致如下会要求输入一些基本的信息,如国家,城市等等

You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:SHAANXI
Locality Name (eg, city) []:XIAN
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mokcy Design
Organizational Unit Name (eg, section) []:MQ
Common Name (e.g. server FQDN or YOUR name) []:www.phodal.com
Email Address []:h@phodal.com

Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password []:
An optional company name []:

需要注意的是:

  • Comman Name是网站的域名或者IP。
  • 最后两个challenge password和company name为空

4.删除短语

sudo cp server.key server.key.org sudo openssl rsa -in server.key.org -out server.key

5.签名证书

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

365指的是有效期

修改Nginx配置

为了保证原来的域名还是可以工作的,因为现在的证书还没有经过第三方机构认证,所以保留一下原来的80端口,ssl端口默认的是443。So,我们需要添加的是SSL那三行,还有,listen 443。

server {
        listen 80;
        server_name phodal.com;

        root /usr/share/nginx/www; index index.html index.htm;
} server {
        listen 443;
        server_name phodal.com;

        root /usr/share/nginx/www; index index.html index.htm;

        ssl on;
        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key; 
}

需要注意的是

  • 可能还需要网站程序的支持(未验证过),Mezzanine可以直接用SSL。
  • 确保你的网站开启了443端口

重新载入Nginx配置

这里用的是CentOS,SO

sudo /etc/init.d/nginx reload
分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:webmaster#sxt.cn(#换为@))
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183