全站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.nmtui.com; 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.nmtui.com
2)选择高级,继续前往www.nmtui.com(不安全) 由于ssl证书是自己生产的,会有这样的一个问题。
3)网站访问正常。
这种小绿锁的ssl,需要购买ssl证书。