nginx使用OpenSSL自签证书支持https

一、下载OpenSSL

OpenSSL下载地址:点击跳转下载页面

1.1、安装openssl

# tar -xzf openssl-1.0.2f.tar.gz
# cd openssl-1.0.2f
# mkdir /usr/local/openssl
# ./config --prefix=/usr/local/openssl
# make
# make install

1.2、创建软连接

# which openssl
/usr/local/openssl/bin/openssl

# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

1.3、检查版本

# openssl version
/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
  • 找不到动态库libssl.so.1.1,执行如下命令:
# vim /etc/ld.so.conf
在最后添加一行:
/usr/local/openssl/lib 

然后再重新执行:

# ldconfig /etc/ld.so.conf
# openssl version
OpenSSL 1.1.0f  25 May 2017

二、自签证书

2.1、创建新目录

mkdir certs

2.2、生成证书

# Generate an RSA key
openssl genrsa -des3 -out Server.key 1024

# Creating Certificate Signing Requests
# 需要输入组织信息,留空输入点(.),而非直接回车(用缺省值)
openssl req -new -key Server.key -out Cert.csr

# 移除口令
cp Server.key Server.key.org
openssl rsa -in Server.key.org -out Server.key

# Signing Your Own Certificates
openssl x509 -req -days 365 -in Cert.csr -signkey Server.key -out Cert.crt

2.3、检查

#ls /usr/local/nginx/conf/certs
Cert.crt  Cert.csr  Server.key  Server.key.org

三、修改nginx配置

确保http_ssl_module已安装。

否则会报错:nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module

添加SSL配置:

# vim /usr/local/nginx/conf/nginx.conf
在server{}层添加以下内容:
        listen       80 default_server;
        ...
    #支持https
        listen       443 ssl;
        server_name  nginx.test.com
        ssl off;
        ssl_certificate /usr/local/nginx/conf/Cert.crt;
        ssl_certificate_key /usr/local/nginx/conf/Server.key;

 至此全部完成,使用浏览器访问http://nginx.test.com和https://nginx.test.com。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN-FuWei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值