全站HTTPS简单实践

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

[root@web01 backup]#  openssl req -new -x509 -nodes -out server.crt -keyout server.key

Generating a 2048 bit RSA private key
......................................................+++
...................................+++

writing new private key to 'server.key'
-----
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]:CH        #国家名称 
State or Province Name (full name) []:bj      #省 
Locality Name (eg, city) [Default City]:bj    #市 
Organization Name (eg, company) [Default Company Ltd]:ZNIX  #组织名称
Organizational Unit Name (eg, section) []:ZNIX  #组织名称
Common Name (eg, your name or your server's hostname) []:ZNIX  #服务器名称
Email Address []:ADMIN@ZNIX.TOP    #邮箱

查看产生的证书

[root@web01 backup]# ls
server.crt  server.key

生成的密钥文件
[root@web01 backup]# ll
total 8
-rw-r--r-- 1 root root 1375 Nov  6 14:07 server.crt
-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配置文件

[root@web01 ~]# cat  /application/nginx/conf/extra/www.conf
server {
    listen      443 ssl;
    server_name  ;
    ssl_certificate      /application/nginx/key/server.crt;
    ssl_certificate_key  /application/nginx/key/server.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;   

location / {
        root  html/www;
        index  index.php ;
    }
    location ~* .*\.(php|php5)?$ {
                root html/www;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
    }
    access_log  logs/access_  main;
}

模块参数说明

模块名称

 

说明

 

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

全站HTTPS简单实践

 

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

全站HTTPS简单实践

 

3)网站访问正常。

全站HTTPS简单实践

 

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/af48dc66bb6a8bf3bf36eb093d43e756.html