本文主要是介绍Nginx 安全控制实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- 1. 使用SSL对流量进行加密
- 2. nginx配置项
- 2.1 ssl
- 2.2 ssl_certificate
- 2.3 ssl_certificate_key
- 3. 使用openssl生成证书
- 3.1 确认系统是否安装openssl
- 3.2 生成证书
- 4. 生产实例
前言
把原来的http请求改造为https
1. 使用SSL对流量进行加密
HTTPS是一种通过计算机网络进行安全通信的传输协议。它经由HTTP进行通信,利用SSL/TLS加密数据包,确保数据的安全性。
SSL(Secure Sockets Layer)安全套接层
TLS(Transport Layer Security)传输层安全
TLS和SSL在传输层和应用层对网络连接进行加密
Nginx要使用SSL,需要添加模块–with-http_ssl_module,该模块在编译的过程中需要OpenSSL的支持
》将原有/usr/local/nginx/sbin/nginx进行备份
》拷贝nginx之前的配置信息
》在nginx的安装源码进行配置指定对应模块 ./configure --with-http_ssl_module
》通过make模板进行编译
》将objs下面的nginx移动到/usr/local/nginx/sbin下
》在源码目录下执行 make upgrade进行升级,这个可以实现不停机添加新模块的功能
2. nginx配置项
2.1 ssl
用来在指定的服务器开启HTTPS,可以使用 listen 端口号 ssl
,https默认端口443
2.2 ssl_certificate
为当前虚拟主机指定一个带有PEM格式证书的证书
2.3 ssl_certificate_key
用来指定PEM secret key文件的路径
3. 使用openssl生成证书
3.1 确认系统是否安装openssl
openssl version
3.2 生成证书
mkdir /usr/local/nginx/conf/cert
cd /usr/local/nginx/conf/cert
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
4. 生产实例
server {listen 1443 ssl;server_name localhost;ssl_certificate cert/server.crt;ssl_certificate_key cert/server.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}}
这篇关于Nginx 安全控制实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!