服务端配置

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

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

查看产生的证书

  1. [root@web01 backup]# ls
  2. server.crt server.key
  3. 生成的密钥文件
  4. [root@web01 backup]# ll
  5. total 8
  6. -rw-r--r-- 1 root root 1375 Nov 6 14:07 server.crt
  7. -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. location / {
  12. root html/www;
  13. index index.php ;
  14. }
  15. location ~* .*\.(php|php5)?$ {
  16. root html/www;
  17. fastcgi_pass 127.0.0.1:9000;
  18. fastcgi_index index.php;
  19. include fastcgi.conf;
  20. }
  21. access_log logs/access_www.log main;
  22. }

模块参数说明

模块名称 说明
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)浏览器访问https://www.nmtui.com
2)选择高级,继续前往www.nmtui.com(不安全) 由于ssl证书是自己生产的,会有这样的一个问题。
3)网站访问正常。
全站HTTPS简单实践 - 图1
这种小绿锁的ssl,需要购买ssl证书。
全站HTTPS简单实践 - 图2