nginx https 访问http_Zabbix 利用 Nginx 实现 HTTPS 访问

HTTPS

        在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,加密的详细内容依赖SSL。

HTTPS 原理

① 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器 ;

② 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数;

③ 客户端对服务器的证书进行验证,并抽取服务器的公用密钥;然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密,并将加密后的信息发送给服务器 ;

④ 客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC密钥 ;

⑤ 客户端将所有握手消息的 MAC 值发送给服务器 ;

⑥ 服务器将所有握手消息的 MAC 值发送给客户端 。

安装openssl组件

#安装openssl组件yum install openssl

验证nginx 是否安装 http_ssl_module 模块

8f3ae3183f64e5c94fa28039d7178b70.png

生成证书和私钥

#生成keyopenssl genrsa -out openssl.key 1024#生成CA crt(用于签署csr)openssl req -new -x509 -key openssl.key -out ca.crt -days 3650#生成csr(生成的csr文件交给CA签名后形成服务端证书)openssl req -new -key openssl.key -out server.csr#生成crt(CSR文件必须有CA的签名才可形成服务器端证书)openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey openssl.key -CAcreateserial -out server.crt#参数解释-CA选项指明用于被签名的csr证书-CAkey选项指明用于签名的密钥-CAserial指明序列号文件-CAcreateserial指明文件不存在时自动生成。#合并证书(openssl.key和ssl证书crt) cat openssl.key server.crt  > server.pem

Nginx 配置

[root@ZABBIX-Server conf.d]# egrep -v "*#|^$" zabbix.conf server {    listen       6989;    listen       443 ssl;    server_name  192.168.99.50;   fastcgi_buffers 8 128k;   fastcgi_buffer_size 128k;    location / {        root   /usr/share/nginx/html;        index  index.html index.htm index.php;    }    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }    location ~ \.php$ {        root           html;        fastcgi_pass   127.0.0.1:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;        include        fastcgi_params;    }location ~ ^/(php_status|ping)$ {        fastcgi_pass   127.0.0.1:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;        include        fastcgi_params;    }    ssl_certificate     /etc/ssl/server.pem;    ssl_certificate_key /etc/ssl/server.pem;    ssl_session_timeout 5m;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_prefer_server_ciphers on;    if ($server_port = 6989){    rewrite ^(.*)$ https://$host$1 permanent;    }}

7267fe3ad04b1f7667fd604e05409b7b.png

#验证配置文件nginx -t#重启nginx服务systemctl   restart  nginx

访问 http 链接重定向至 https

if ($server_port = 6989){    rewrite ^(.*)$ https://$host$1 permanent;    }

Https 访问ZABBIX

https://192.168.99.50/zabbix/

060ae807d599355ec62852aab1c88ca3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值