建站服务器

        这里nginx搭建https服务器,必须几个要求,第一有安装openssl-devel,当然这个没有貌似编译添加ssl模块会出错。那如果编译有不会的可以参考我前面的博客,当然baidu和google上资料也很多。

1、确认nginx服务器能正常运行

lsof -i:80

#查看80端口是否正常启用,nginx默认80端口而不是443端口

netstat -ntpl | grep nginx | wc -l
ss -ntpl | grep nginx |wc -l

#这也是一种方法,wc -l是统计结果有多少行

2、备份原有的主配置文件

cp nginx.conf nginx.conf.https

3、使用openssl生成不信任的证书和私钥

openssl genrsa -des3 -out https_1.key 2048

#首先创建私钥,会提示输入密码,这个密码一定要备份,如果在生产环境中,知道的人越少越好,因为nginx服务器正常重启停止等操作都要密码。

#genrsa:产生RSA密钥命令,des3:机密解密算法,out:输出的文件名,2048:表示长度也有叫大小的,我还是习惯长度。

openssl req -new -x509 -days 3650 -key https_1.key -out https_1.crt

#利用前面的私钥创建不信任的证书(但好歹也是个证书)

#req:产生证书签发申请命令,-new:表示新的请求,x509签发x.509格式的证书,表示证书有效的天数,key指定私钥文件,out:输出的文件名

4、修改nginx配置文件

注意:以下操作都是在一个server标签里配置的

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
    
        listen       443;
	server_name localhost;
	ssl		on;
	ssl_certificate		/usr/local/nginx/conf/https_1.crt;
	ssl_certificate_key	/usr/local/nginx/conf/https_1.key;
	ssl_session_timeout	5m;
	ssl_protocols	SSLv3	TLSv1;
	ssl_prefer_server_ciphers on;
	
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

############################################################

listen:监听的端口

server_name:其实就是域名

ssl    on:开启ssl

ssl_certificate:表示证书存放的路径,建议用绝对路径

ssl_certificate_key:表示私钥路径,建议用绝对路径

ssl_session_timeout    5m:表示证书在客户机缓存的生命周期,特别提醒下证书是个很贵的东西要保存好。

ssl_protocols        SSLv3    TLSv1:证书使用的协议

ssl_prefer_server_ciphers  on:SLv3和TLSv1协议的服务器密码需求优先级高于客户端密码(这个我也不清楚,可以肯定的是应该是一个优化参数)

ssl_ciphers HIGH:!aNULL:!MD5:!EXPORT56:!EXP:这个参数我没用,因为不知道怎么用

############################################################

5、重启nginx

/usr/local/nginx/sbin/nginx -s reload

#重启完一定要查看端口情况,因为并不是每一次重启都能成功的。

lsof -i:443

#如果没有说明重启不成功

提示:可以killall  nginx后重新启动。防火墙要允许443端口而不是80端口。

6、使用客户机访问,查看结果

vpersoning:如果又出错的地方可以私聊我,我是新手,但是我喜欢问题。

centos6.8+nginx搭建简单的https服务器-编程知识网