全站HTTPS简单实践

第一个里程碑:创建https证书

 1 [root@web01 backup]#  openssl req -new -x509 -nodes -out server.crt -keyout server.key
 2 
 3 Generating a 2048 bit RSA private key
 4 ......................................................+++
 5 ...................................+++
 6 
 7 writing new private key to 'server.key'
 8 -----
 9 You are about to be asked to enter information that will be incorporated
10 into your certificate request.
11 What you are about to enter is what is called a Distinguished Name or a DN.
12 There are quite a few fields but you can leave some blank
13 For some fields there will be a default value,
14 If you enter '.', the field will be left blank.
15 -----
16 Country Name (2 letter code) [XX]:CH        #国家名称  
17 State or Province Name (full name) []:bj       #省  
18 Locality Name (eg, city) [Default City]:bj     #市   
19 Organization Name (eg, company) [Default Company Ltd]:ZNIX   #组织名称
20 Organizational Unit Name (eg, section) []:ZNIX   #组织名称
21 Common Name (eg, your name or your server's hostname) []:ZNIX  #服务器名称
22 Email Address []:ADMIN@ZNIX.TOP    #邮箱

查看产生的证书

1 [root@web01 backup]# ls
2 server.crt  server.key
3 
4 生成的密钥文件
5 [root@web01 backup]# ll
6 total 8
7 -rw-r--r-- 1 root root 1375 Nov  6 14:07 server.crt
8 -rw-r--r-- 1 root root 1704 Nov  6 14:07 server.key

openssl参数说明

参数

参数说明

req

PKCS#10 X.509 Certificate Signing Request (CSR)Management. PKCS#10 X.509证书签名请求(CSR)管理。

x509

X.509 Certificate Data Management.  X.509证书数据管理。

第二个里程碑:修改nginx配置文件

 1 [root@web01 ~]# cat  /application/nginx/conf/extra/www.conf
 2 server {
 3     listen       443 ssl;
 4     server_name  www.etiantian.org;
 5     ssl_certificate      /application/nginx/key/server.crt;
 6     ssl_certificate_key  /application/nginx/key/server.key;
 7     ssl_session_cache    shared:SSL:1m;
 8     ssl_session_timeout  5m;
 9     ssl_ciphers  HIGH:!aNULL:!MD5;
10     ssl_prefer_server_ciphers  on;    
11 
12     location / {
13         root   html/www;
14         index  index.php ;
15     }
16     location ~* .*\.(php|php5)?$ {
17                 root html/www;
18                 fastcgi_pass  127.0.0.1:9000;
19                 fastcgi_index index.php;
20                 include fastcgi.conf;
21     }
22     access_log  logs/access_www.log  main;
23 }

模块参数说明

模块名称

说明

ssl_prefer_server_ciphers

指定在使用SSLv3和TLS协议时,服务器密码应优先于客户端密码。

ssl_ciphers

指定启用的密码。密码以OpenSSL库理解的格式指定

ssl_session_timeout

指定客户端可以重新使用会话参数的时间。

ssl_session_cache

设置存储会话参数的高速缓存的类型和大小。

ssl_certificate

指定file具有给定虚拟服务器的PEM格式的证书。如果除了主要证书之外还应该指定中间证书,则应该按照以下顺序在同一个文件中指定它们:主要证书首先是中间证书,然后是中间证书。PEM格式的密钥可以放在同一个文件中。

ssl_certificate_key

指定file给定虚拟服务器的PEM格式的秘密密钥。

1.1.2 客户端访问

1)浏览器访问https://www.etiantian.org

   2)选择高级,继续前往www.etiantian.org(不安全)   由于ssl证书是自己生产的,会有这样的一个问题。

   3)网站访问正常。

   这种小绿锁的ssl,需要购买ssl证书。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Pythonista

Linux之RPM GPG签名

原文地址:http://linux.chinaunix.net/techdoc/system/2007/09/26/968723.shtml

1263
来自专栏Young Dreamer

HTTPS静态服务搭建过程详解

HTTPS服务对于一个前端开发者来说是一个天天打招呼的老伙计了,但是之前我跟HTTPS打交道的场景一直是抓包,自己没有亲自搭建过HTTPS服务,对HTTPS的底...

1847
来自专栏程序猿DD

Spring Cloud构建微服务架构:分布式配置中心(加密解密)

最近正好想发一篇关于配置中心加密的细节内容,结果发现基础的加密解密居然漏了,所以在这个入门系列中补充一下。后面再更新一下,使用配置中心的一些经验和教训。 ? 在...

3357
来自专栏Angular&服务

Nginx配置https协议

使用 https 协议访问你的域名, 如 https://www.yourdomain.com/hello.html 检查是否成功,如果地址栏出现绿色带安全字样...

1451
来自专栏晓晨的专栏

ASP.NET Core 使用 Alipay.AopSdk.Core 常见问题解答

1651
来自专栏子勰随笔

Android签名校验机制(数字证书)

53811
来自专栏bboysoul

让网站用上https

个人认为让一个没什么流量的网站支持https是没什么意义的,第一,支持https后访问速度会变慢 而且浪费服务器资源,但是没办法,一切为了装逼,为了装逼的一切...

1513
来自专栏行者悟空

Nginx启用https访问

8183
来自专栏Jerry的SAP技术分享

如何把某个网站的SSL Server certificate链导入到ABAP Netweaver系统里

我们在用ABAP代码消费外网的url时会遇到一些异常,比如ICM_HTTP_SSL_PEER_CERT_UNTRUSTED,这是因为请求的url所在的网站的SS...

1455
来自专栏Python爬虫与数据挖掘

在Windows上如何安装和彻底卸载Adobe Flash Player教程

很多小伙伴在安装水晶易表的时候,经常会遇到“Xcelsius2008需要使用Adobe Flash Player(9.151或者更高版本)”报错问题,如下图所示...

1981

扫码关注云+社区