版权声明:如有需要转载,请声明出处 https://blog.csdn.net/hehuang139/article/details/85076076
nginx
环境ubuntu64位系统
安装开启ssl模块的nginx
- 安装zlib
- 下载最新的包,
- ./configure && make && make install
- 安装pcre
- 下载最新安装包
- ./configure && make && make install
- 安装openssl
- 下载版本 https://www.openssl.org/source/openssl-1.1.0e.tar.gz
- ./config shared zlib && make && make install
- 安装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
- 使用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 []: ← 可以不输入
- 备份一份服务器密钥文件
- cp server.key server.key.org
- 去处文件口令
- openssl rsa -in server.key.org -out server.key
- 生成证书文件 server.crt
- openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt