zoukankan      html  css  js  c++  java
  • nginx使用ssl模块配置HTTPS支持 <转>

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似libssl-dev。

    生成证书

    可以通过以下步骤生成一个简单的证书:
    首先,进入你想创建证书和私钥的目录,例如:

    1. $ cd /usr/local/nginx/conf

    创建服务器私钥,命令会让你输入一个口令:

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

    创建签名请求的证书(CSR):

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

    在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

    1. $ cp server.key server.key.org
    2. $ openssl rsa -in server.key.org -out server.key

    配置nginx

    最后标记证书使用上述私钥和CSR:

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

    修改Nginx配置文件,让其包含新标记的证书和私钥:

    1. server {
    2.     server_name YOUR_DOMAINNAME_HERE;
    3.     listen 443;
    4.     ssl on;
    5.     ssl_certificate /usr/local/nginx/conf/server.crt;
    6.     ssl_certificate_key /usr/local/nginx/conf/server.key;
    7. }

    重启nginx。
    这样就可以通过以下方式访问:

    https://YOUR_DOMAINNAME_HERE

    另外还可以加入如下代码实现80端口重定向到443

    1. server {
    2. listen 80;
    3. server_name ww.centos.bz;
    4. rewrite ^(.*) https://$server_name$1 permanent;
    5. }

    转载请注明文章来源:http://www.centos.bz/2011/12/nginx-ssl-https-support/

  • 相关阅读:
    解決 Android Studio 不停 Indexing 的問題(Updating Indices: Indexing paused due to batch update)
    通过某个关键字排序一个字典列表
    django cmes 后台管理
    python 处理音视频
    python 加密
    PyEngine3D
    获取单词列表出现频率最高的单词
    django 上传文件
    python之MD5加密
    切片对象的demo
  • 原文地址:https://www.cnblogs.com/aveenzhou/p/3934288.html
Copyright © 2011-2022 走看看