Nginx单向认证的安装配置

        在原来nginx使用ssl模块配置HTTPS支持中有小结,但今天在配置中还是碰到了问题,特意在此再总结一下,当然,首先系统要已经安装了openssl。

一.建立服务器私钥生成RSA密钥

openssl genrsa -out server.key 2048

        如要设置密码,加上-des3,如下所示:

openssl genrsa -des3 -out server.key 2048

 

二.生成一个证书请求

openssl req -new -key server.key -out server.csr

        输入完这些内容,就会在当前目录生成server.csr文件

 

三.对于使用上面的私钥启动具有SSL功能的NGINX

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

 

四.使用上面的密钥和CSR对证书进行签名

--默认SHA-1弱密码
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
--采用SHA-512算法,并且不指定过期时间
openssl x509 -req -sha512 -in server.csr -signkey server.key -out server.crt

        生成完成后,将会在当前目录下看到如下文件。

 

五.修改nginx.conf文件,添加https配置内容:

#--------------------------------------------------------
# HTTPS server
server {
    listen 443;
    server_name bj.com;

    ssl on;
    ssl_certificate      /data/nginx/ctfs/server.crt;
    ssl_certificate_key  /data/nginx/ctfs/server.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;

    location /ctfs-test {
        proxy_pass   http://10.108.97.105:2491/ctfs-test;
        proxy_redirect off;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
    }
}
#--------------------------------------------------------

        配置好后,重启nginx(/data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf -s reload),采用https打开网站,浏览器会提示证书错误,点击继续浏览即可。

 

参考文章:http://www.cnblogs.com/zhoulf/p/4040015.html

https://www.jianshu.com/p/e5aef185f0c6

posted on 2018-01-22 21:38  bijian1013  阅读(262)  评论(0)    收藏  举报

导航