黑帽联盟
标题:
Nginx配置自签名ssl
[打印本页]
作者:
权利的游戏
时间:
2018-5-3 15:57
标题:
Nginx配置自签名ssl
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
实验环境:ubuntu14.04(阿里云服务器)
首先安装Nginx:apt-get install nginx-full(如果没有的话,使用命令apt-cache search nginx 自己找安装包,这个靠感觉吧,或者去nginx的官网下载源码包安装)
第二,了解几个命令的不同
1、service nginx -s reload(这个命令是不能使用的,etc下的nginx脚本没有编写这个参数把)
2、service nginx reload(可以使用,正常的命令嘛)
3、service nginx -t(这个命令是检查配置文件的正确性,不能使用)
4、/usr/sbin/nginx -s reload(可以使用,推荐使用这个命令,原因在-s参数)
5、/usr/sbin/nginx -t(可以使用,默认检查/etc/nginx/nginx.conf配置文件的正确性)
PS:参数间使用空格隔开
第三、生成证书
1.创建网站证书存放目录
shell> cd /opt
shell> mkdir ssl;
shell>cd ssl
2.制作CA证书
shell> openssl genrsa -des3 -out ca.key 2048
shell> openssl req -new -x509 -days 7305 -key ca.key -out ca.crt
3.生成nginx服务器所需证书,并用CA签名
shell> openssl genrsa -des3 -out client.key 1024
shell> openssl req -new -key client.key -out client.csr
shell> openssl x509 -req -in client.csr -out client.pem -signkey client.key -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
4.查看证书文件
shell> pwd
/usr/local/nginx/conf/ssl
shell> ls
ca.crt ca.key ca.srl client.csr client.key client.pem
复制代码
PS:生成证书的时候会提示输入密码,这个密码要记住,后面会用到。而且你生成其他文件(其他证书相关的)的时候也会用到
第四、修改配置文件
进入/etc/nginx/sites-available文件下,使用命令nano deafult编辑server配置文件,追加如下代码(这个就在最外层,不用嵌套在什么里面)
server{
listen 443;
server_name www.xxhui.space;
ssl on;
ssl_certificate /opt/ssl/client.pem;
ssl_certificate_key /opt/ssl/client.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
server_name localhost;
root /usr/share/nginx/html;
location / {
index index.html 50x.html;
}
}
复制代码
PS:建议复制粘贴,自己手打的话主义使用四个空格来对齐。参考我上面“基于Nginx的SSL证书配置”的话请修改前面的对齐,因为他不使用空格,检测报错
第五、检查配置文件正确性
shell> /usr/sbin/nginx -t
//会提示client证书的密码
shell> /usr/sbin/nginx restart
//配置的ssl必须重启才能生效。所以不要使用reload命令
//这里也会提示输入client证书的密码
复制代码
第六、检验
直接在浏览器输入你的https://server_name(server_nam为你的配置文件的server_name那里
欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/)
Powered by Discuz! X2.5