Nginx SSL 配置

转载时请标明文章原始出处和作者信息, 作者: lostsnow.
http://www.lsproc.com/blog/nginx_ssl_config/

使用OpenSSL生成证书

1、生成RSA密钥的方法

openssl genrsa -des3 -out privkey.pem 2048
这个命令会生成一个2048位的密钥,同时有一个des3方法加密的密码,如果你不想要每次都输入密码,可以改成:
openssl genrsa -out privkey.pem 2048
建议用2048位密钥,少于此可能会不安全或很快将不安全。

2、生成一个证书请求
openssl req -new -key privkey.pem -out cert.csr
这个命令将会生成一个证书请求,当然,用到了前面生成的密钥privkey.pem文件
这里将生成一个新的文件cert.csr,即一个证书请求文件,你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。

如果是自己做测试,那么证书的申请机构和颁发机构都是自己。就可以用下面这个命令来生成证书:
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
这个命令将用上面生成的密钥privkey.pem生成一个数字证书cacert.pem

配置nginx

server
{
    listen       443;
    ssl on;
    ssl_certificate  /var/www/sslkey/cacert.pem;
    ssl_certificate_key /var/www/sslkey/privkey.pem;
    server_name  192.168.1.1;
    index index.html index.htm index.php;
    root  /var/www/test;

    .....
    ...
}

-- EOF --

Related Posts

23 thoughts on “Nginx SSL 配置

  1. Pingback: Godaddy SSL证书以及 Nginx 配置HTTPS方法 - Showfom's Blog

  2. Pingback: Nginx 配置 SSL 证书 + HTTPS 站点小记 - 走点路 | Showfom's Blog

  3. Pingback: NGINX配置ssl+https站点的方法 | 小宇日志

  4. 我用apt-get install openssl安装了openssl,并且运行了:
    ./configure --user=root --group=root --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    make
    make install
    还是不行啊

  5. 还有,这篇文章:http://zou.lu/install-godaddy-ssl-https-on-nginx/里,第五大步中的第3步说:“重启服务即可”,重启的是什么服务?

  6. kill -HUP `cat /usr/local/nginx/nginx.pid`
    /usr/local/nginx/nginx.pid 改为你的pid地址

    没报错信息 至少在access.log里有日志
    如果没有 说明vhost配置错误

  7. 我安装了licess的lnmp0.3一键安装包:http://blog.licess.cn/lnmp-debian-ubuntu/,在usr/local/nginx里面没看见有logs目录,也没看见有nginx.pid文件。该文说要执行:kill -HUP 'cat /usr/local/nginx/logs/nginx.pid`
    logs目录和nginx.pid文件到底在哪里呢?

  8. 我看到logs目录和nginx.pid了,不过我运行kill -HUP 'cat /usr/local/nginx/logs/nginx.pid'命令后,出现如下提示:

    luckypoem:~# kill -HUP 'cat /usr/local/nginx/logs/nginx.pid'
    -bash: kill: cat /usr/local/nginx/logs/nginx.pid: arguments must be process or job IDs

    这句话:rguments must be process or job IDs是什么意思?

  9. 我是到这个符号了:`.不过我没装这个一键安装包了。我是用apt-get install nginx来装nginx的,这样如何编译nginx呢?没法运行命令:
    ./configure
    我是新手,请多多赐教

  10. ./configure --with-http_stub_status_module --with-http_ssl_module --with-openssl=../openssl的源码解压包的路径 --with-http_gzip_static_module --with-http_stub_status_module

    不需要安装OPENSSL,但是得指定openssl的源码解压包的路径

  11. :

    ./configure --with-http_stub_status_module --with-http_ssl_module --with-openssl=../openssl的源码解压包的路径 --with-http_gzip_static_module --with-http_stub_status_module

    不需要安装OPENSSL,但是得指定openssl的源码解压包的路径

    默认是在 /usr/bin/openssl, --with-openssl=/usr 就可以, 如果你自己编译的就按你自己编译的来

  12. Pingback: 绚丽也尘埃 » 用HTTPS(SSL)构建一个安全的Nginx Web服务器

  13. Pingback: 匿名

  14. Pingback: Nginx 配置 SSL 证书 + HTTPS 站点小记 « 玛莎博客

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>