https nginx

版权声明:如有需要转载,请声明出处 https://blog.csdn.net/hehuang139/article/details/85076076

nginx

环境ubuntu64位系统

安装开启ssl模块的nginx

  1. 安装zlib
  • 下载最新的包,
  • ./configure && make && make install
  1. 安装pcre
  • 下载最新安装包
  • ./configure && make && make install
  1. 安装openssl
  1. 安装nginx
  • 下载最新安装包
  • ./configure --with-http_stub_status_module --with-http_ssl_module
  • make && make install
    • 编译问题
打开nginx源文件下的/usr/local/src/nginx-1.9.9/auto/lib/openssl/conf文件:
找到这么一段代码:
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
修改成以下代码:
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
  • 建立pcre.so的链接
    • ln -s /usr/local/lib/libpcre.so.1 /lib/libpcre.so.1
  • 启动
    • sudo /usr/local/nginx/sbin/nginx
  • 修改nginx.conf配置
    • 在阿里云上申请ssl,并下载到服务器上的/usr/local/nginx/conf/ssl路径下
server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      ssl/**.crt; -- ssl crt
        ssl_certificate_key  ssl/**.key; -- ssl key

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            proxy_pass http://**.cn:8811;
        }
    }

  • 重启nginx
  1. 使用openssl生产密钥
  • 创建服务器证书密钥文件 server.key
    • openssl genrsa -des3 -out server.key 1024
    • 输入密码,并确认
  • 创建服务器证书的申请文件 server.csr
    • openssl req -new -key server.key -out server.csr
openssl req -new -key server.key -out server.csr
输出内容为:
Enter pass phrase for root.key: ← 输入前面创建的密码
Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
Organizational Unit Name (eg, section) []: ← 可以不输入
Common Name (eg, YOUR name) []: ← 此时不输入
Email Address []:[email protected] ← 电子邮箱,可随意填
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ← 可以不输入
An optional company name []: ← 可以不输入
  • 备份一份服务器密钥文件
  • 去处文件口令
  • 生成证书文件 server.crt
    • openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

猜你喜欢

转载自blog.csdn.net/hehuang139/article/details/85076076