美文网首页
linux下nginx配置ssl

linux下nginx配置ssl

作者: 犀鸟 | 来源:发表于2020-11-27 09:56 被阅读0次

    自制证书

    在nginx目录下(/etc/nginx)创建ssl目录

    cd /etc/nginx

    sudo mkdir ssl

    生成证书

    openssl genrsa -des3 -passout pass:123456 -out yenaer.key 2048;

    备注:123456是密码,2048是加密强度

    openssl req -new -subj "/C=CN/ST=SiChuan/L=ChengDu/O=yenaer/OU=yenaer/CN=sso.yenaer.cn" -passin pass:123456 -key yenaer.key -out yenaer.csr

    备注:C表示国家、ST表示省份、L表示城市、O表示组织或公司、OU表示部门;CN表示域名,非常重要

    openssl x509 -req -days 3650 -in yenaer.csr -signkey yenaer.key -out yenaer.crt

    备注:3650表示有效期是10年


    nginx配置

    server {

        listen 443 ssl;

        server_name sso.yenaer.cn

        ssl_certificate    /etc/nginx/ssl/yenaer.crt;

        ssl_certificate_key /etc/nginx/ssl/yenaer.key;

        proxy_set_header Host $host:$server_port;

        proxy_set_header X-Forwarded-Proto  https;

        proxy_set_header X-Http-scheme https;

    }

    让所有请求都访问https

    server {

        listen  80;

        rewrite ^(.*)$  https://sso.yenaer.cn$request_uri;

    }

    nginx 配置检测:sudo /usr/sbin/nginx -t

    nginx重启:sudo service nginx reload

    因为是自制证书,没有得到权威机构认证,浏览器会提示不安全,你可以选择继续访问。


    如果有java客户端后台访问自制证书的https服务,你需要在客户端的jre中添加证书才允许访问,如果cas服务是https协议,客户端系统所在的服务器需要导入证书

    客户端导入证书

    sudo keytool -import -alias yenaer-sso -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -file ./yenaer.crt -trustcacerts -storepass changeit

    客户端删除证书

    sudo keytool -delete -alias yenaer-sso -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -storepass changeit

    客户端查看证书

    sudo keytool -list -keystore  /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -storepass changeit

    备注:-keystore是jre下的cacerts,changeit是jdk的证书默认密码


    我所使用的linux版本是ubuntu16,不同环境的nginx路径和jdk路径可能不一样


    如果没有域名又要使用域名进行测试,可以修改本地的hosts文件,添加一条映射记录,比如:

    192.168.2.45 sso.yenaer.cn


    在https://freessl.org可以申请免费的ssl证书,下载KeyManager客户端申请比较方便,前提是自己要有域名,需要进行域名验证


    https://www.howtoing.com/https-build-configure-ubuntu-nginx-ssl-certificate/

    相关文章

      网友评论

          本文标题:linux下nginx配置ssl

          本文链接:https://www.haomeiwen.com/subject/fjwtwktx.html