startssl https免费证书申请安装图文教程(centos+nginx+php)

摘要

1:登陆:https://startssl.com/ 注册账号;
2:进入了https ssl控制面板;
3:添加需要开启https的域名;
4:安装ssl证书的,点击DV SSL Certiflcate;
5:linux执行命令:openssl req -newkey rsa:2048 -keyout fujieace.key -out fujieace.csr;;
6:下载证书,修改nginx.conf HTTPS server;

为了证明https有效,大家可以看博主的博客,这就是用的免费https,时效居然还有三年。直接上申请https证书的全部步骤:

1:登陆:https://startssl.com/ 注册账号

2:直接用邮箱注册,推荐用QQ邮箱,126邮箱似乎通不过。

3:输入邮箱接收到的验证码;

4:注册成功。直接点击Login Now;

5:这是一个证书标识,点击确定。

6:这就就进入了https ssl控制面板,也相当于管理工具。

7:添加需要开启https的域名;

8:输入你的域名,建议直接输入一级域名,不要带任何的的标识符,包括www也不带。它可以自动识别。

9:域名验证成功后,你需要下载一个https登陆的证书。直接点击下载文件,并安装它。当然,直接登陆也是可以的。

10:因为我们下载了https登陆证书,现在去登陆控制面板的时候,只需要选择你注册的邮箱是哪个,就进入的是哪个https ssl控制面板。

11:添加域名并验证域名权限,是否是域名所有者操作。默认直接选择第一个。第一个的邮箱就是我们注册域名个人信息所有者的邮箱。如果你开启了隐私保护,你是收不到验证码的。因此,这一步验证的时候请关闭域名隐私保护。

12:域名所有者验证,输入你得到的验证码,点击validation;

13:这样,我们的域名已经拥有了https,但是还没有真正的成功。点击Certiflicates Wizard;

14:这是安装ssl证书的,点击DV SSL Certiflcate

15:这是真正的绑定你的要开启https的域名;因为演示的是centos+nginx;因此我们只需要选择第一个按钮:下面方框的代码生成请继续往下看:

16:因为选择的是第一个按钮,我们需要去centos 操作一系列的命令。如图:重要的命令我都文字解释过了,其它的都可以随便写。英文不懂的自行去翻译。我就不一一解释了。

nginx所需要的全部命令:

[root@localhost nginxssl]# openssl req -newkey rsa:2048 -keyout 453535.key -out 453535.csr
Generating a 2048 bit RSA private key
....................................................+++
........................................+++

writing new private key to '453535.key'
Enter PEM pass phrase: //nginx启动密码
Verifying - Enter PEM pass phrase: //nginx启动验证密码
-----
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) [XX]:45
State or Province Name (full name) []:453535
Locality Name (eg, city) [Default City]:nc
Organization Name (eg, company) [Default Company Ltd]:453535
Organizational Unit Name (eg, section) []:453535
Common Name (eg, your name or your server's hostname) []:www.453535.com //主机名
Email Address []:fujieace@126.com //邮箱

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

通过以上的命令,会在你的当前位置生成*.key和*.csr两个文件。

然后用:vim *.csr 复制里面加密的字符串粘贴到第15步方框的位置。然后点击submit;

17:这样,我们的证书就生成了。点击here,去下载你的证书;

18:下载后解压会有各种的证书,nginx,apach,IIS,其它服务器,我们用nginx即可。把nginx *.crt 上传到你的服务器。

19:再去配置nginx.conf文件; 只需修改nginx.conf HTTPS server即可!

# HTTPS server
server {
listen 443 ssl;
server_name www.fujieace.com;
ssl_certificate /fujieace/nginx/fujieace.crt;
ssl_certificate_key /fujieace/nginx/fujieace.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.php index.html index.htm;
}

#解析php代码
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /fujieace/nginx/html$fastcgi_script_name;
# 开启 https ,需要此配置
fastcgi_param HTTPS on;
include fastcgi_params;

}
}

网站根目录位置和解析PHP代码有的一些服务器可能没有。主要是看你个人如何运用nginx.conf,博主是为了把http配置和https配置区分开来的,因为这样匹配他们互不影响。再加上博主所有的链接都是绝对地址。

有一些可能想http自动跳转到https,这个需要去server 80 端口加静态规则:代码如下:

server {
listen 80;
server_name www.fujieace.com;
rewrite ^(.*)$ https://$host$1 permanent;
}

关于nginx配置的详细用法请自行学习。这里暂时不做详解。有不懂的,可以评论,可直接来联系我。

20:一定要重启nginx,不要用sbin/nginx -s reload 重新加载配置文件命令;有时候用它并不是能及时更新。先关闭nginx,修改配置文件,再重启。这是最快看见配置文件是否生效的方法。

付杰
  • ¥ 29.0元
  • 市场价:99.0元
  • ¥ 0.0元
  • 市场价:199.0元
  • ¥ 159.0元
  • 市场价:599.0元
  • ¥ 99.0元
  • 市场价:99.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

  1. 头像 一下飞起来 0

    现在这平台ssl还可以免费使用吗?是不是不能用了,好可惜的平台,还能免费用三年的ssl呢!国内的免费的也就一年;

  2. 付杰 付杰

    警告:startssl老牌证书由于和360公司的原因,现在火狐和chorm谷歌浏览器已经不再支持它了,如果你还是用的startssl平台的证书,火狐将是打不开的,会出现错误代码: SEC_ERROR_REVOKED_CERTIFICATE,谷歌chorm浏览器则会出现:不安全的链接;