用OpenSSL颁发自签名证书

自己生成证书可以用于构建证书颁发服务来为客户端授信,这里记录如何使用openssl生成证书并在Nginx中配置和使用。

自签名证书

生成一个RSA私钥 :

1
$ openssl genrsa -des3 -out fvpnd.key 1024

拷贝一个不需要输入密码的密钥文件

1
$ openssl rsa -in fvpnd.key -out fvpnd_nopass.key

生成一个证书请求

1
$ openssl req -new -key fvpnd.key -out fvpnd.csr

签发证书,有效期365天

1
$ openssl x509 -req -days 365 -in fvpnd.csr -signkey fvpnd.key -out fvpnd.crt

Nginx配置和使用

将方才生成的证书拷贝到/etc/nginx/ssl/;安装好Nginx之后修改/usr/local/nginx下的nginx.conf,注释掉server这一节,加入一句指令来另外指定各个站点的配置文件路径:

1
2
#gzip  on;
include /usr/local/nginx/conf/vhosts/*.conf;

新建 /usr/local/nginx/conf/vhosts 目录,新建fvpnd.conf文件,内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# HTTPS server
server {
#listen 80;
listen 443 ssl;
server_name localhost;
server_name 127.0.0.1;

ssl_certificate /etc/nginx/ssl/fvpnd.crt;
ssl_certificate_key /etc/nginx/ssl/fvpnd_nopass.key;
root /var/app/nginx/vhost/fvpnd;
index index.html index.htm;

location / {
# for uWSGI
uwsgi_pass 127.0.0.1:53020;
include uwsgi_params;
}
}

免费证书

StartSSL,但证书有效期只有1年。

# Linux, SSL

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×