nginx编译部署配置https

### nginx编译部署配置https 应用环境:系统centos7 虚拟机地址:192.168.25.130 编译安装nginx配置实现https(配置本地转发https端口) 使用wget模块下载相应版本 wget http://nginx.org/download/nginx-1.20.1.tar.gz 安装依赖: yum install libaio ncurses gcc gcc-c++ cmake ncurses-devel wget pcre-devel zlib-devel openssl openssl-devel 解压: tar -zxvf nginx-1.20.1.tar.gz 进入解压目录运行: ./configure --prefix=/home/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-stream_ssl_preread_module --with-stream_ssl_module 解压目录编译安装: make && make install 检查:https依赖模块为http_ssl_module [root@bogon sbin]# /home/nginx/sbin/nginx -V nginx version: nginx/1.20.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/home/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-stream_ssl_preread_module --with-stream_ssl_module ##### 在 nginx 目录新建 cert 文件夹存放证书文件。 这里是用的 pem 与 key 文件,文件名可以更改 Linux生成密钥(测试使用,公网需根据域名到相关网站申请) 在cert文件夹运行一下命令,文件生成在当前目录 ###### 生成秘钥key,运行: openssl genrsa -des3 -out server.key 2048 会有两次要求输入密码,输入同一个即可 然后你就获得了一个server.key文件. ###### 以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令: openssl rsa -in server.key -out server.key ###### 创建服务器证书的申请文件server.csr,运行: openssl req -new -key server.key -out server.csr ###### 其中Country Name填CN,Common Name填主机名也可以不填,如果不填浏览器会认为不安全.(例如你以后的url为https://abcd/xxxx....这里就可以填abcd),其他的都可以不填. ###### 创建CA证书: openssl req -new -x509 -key server.key -out ca.crt -days 3650 此时,你可以得到一个ca.crt的证书,这个证书用来给自己的证书签名. ###### 创建自当前日期起有效期为期十年的服务器证书server.crt: openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt ###### ls你的文件夹,可以看到一共生成了5个文件: ca.crt ca.srl server.crt server.csr server.key ###### 其中,server.crt和server.key就是你的nginx需要的证书文件. ##### nginx.conf 配置(修改HTTPS server中sever)备注:#HTTPS server 注释不用修改 server { listen 9001 ssl; #高版本不需要ssl on; 添加在了监控端口之后 server_name localhost; #填写申请对应的域名,测试无需修改 ssl_certificate /home/nginx/cert/server.crt;#配置证书位置 ssl_certificate_key /home/nginx/cert/server.key;#配置密钥位置 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; location / { root html; proxy_pass http://127.0.0.1:8081;#配置本地端口转发 index index.html index.htm; } } 备注:http 模块可以注释或删除 ##### 启动nginx: /home/nginx/sbin/nginx ##### 关闭nginx ./nginx -s stop ##### 更改配置文件后重载 ./nginx -s reload ##### 验证:nginx启动后验证 https://192.168.25.130:9001/ 备注:生产环境验证为:https://域名:端口/ `如果对您有所帮助请《点赞》、《收藏》、《转发》,您的支持是我持续更新的动力,有疑问请留言`
上一篇:中国剩余定理——CRT


下一篇:从数据加密到PostgreSQL SSL认证连接