Nginx学习笔记(十)——高性能服务器---获取真实的客户端ip&HTTPS加密认证

1.获取真实的客户端ip

在此实验中server1作为nginx服务器;server2为server1的代理;server3为客户端

step1 在server2中修改nginx配置文件配置反向代理:

vim /usr/local/nginx/conf/nginx.conf

 17 http {
 18     include       mime.types;
 19     default_type  application/octet-stream;
 20         upstream westos {
 21                 server 172.25.254.1:80;
 22 }

118         server {
119                 listen 80;
120                 server_name www.westos.org;
121         location / {
122                 #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
123                 proxy_pass http://westos;
124 }
125 }

nginx -t	#语法检测
nginx -s reload	#在不暂停服务的情况下重新加载

在这里插入图片描述
在这里插入图片描述
step2 在server1中清空日志:

cd /usr/local/nginx/logs
>access.log 	#清空日志

step3 在server3中添加解析并测试:

vim /etc/hosts

在这里插入图片描述
step4 在server1中查看日志:
在这里插入图片描述
step5 修改server1配置文件,获取真实客户端ip:

vim /usr/local/nginx/conf/nginx.conf

 39     server {
 40         listen       80;
 41         server_name  localhost;
 42         set_real_ip_from 172.25.254.2;		#从代理处获取真实ip
 43         real_ip_header X-Forwarded-For;		#从http请求头中拿到数据
 44         real_ip_recursive on;

在这里插入图片描述
step6 修改server2配置文件,获取真实客户端ip:

vim /usr/local/nginx/conf/nginx.conf

118         server {
119                 listen 80;
120                 server_name www.westos.org;
121         location / {
122                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;	#从真实的请求头中拿到数据,真实后端才能保存下来
123                 proxy_pass http://westos;

在这里插入图片描述
step7 重新加载server1和server2的nginx:

nginx -t	#语法检测
nginx -s reload	#在不暂停服务的情况下重新加载

step8 在客户端中访问server1:
在这里插入图片描述
step9 在server1的日志中查看客户端ip:

设置好配置文件后,就可以看到真实的客户端ip(server3的ip)了
在这里插入图片描述

2.HTTPS加密认证

同http服务一样,nginx也可以设置https加密认证。当我们访问http://www.westos.org时,它会帮我们自动跳转到https://www.westos.org
下面是设定加密认证的步骤:

step1 修改配置文件:

vim /usr/local/nginx/conf/nginx.conf

103     server {
104         listen       443 ssl;
105         server_name  www.westos.org;
106 
107         ssl_certificate      cert.pem;
108         ssl_certificate_key  cert.pem;
109 
110         ssl_session_cache    shared:SSL:1m;
111         ssl_session_timeout  5m;
112 
113         ssl_ciphers  HIGH:!aNULL:!MD5;
114         ssl_prefer_server_ciphers  on;
115 
116         location / {
117             root   /web;
118            index  index.html index.htm;
119         }
120     }

在这里插入图片描述
step2 制作key:

cd /etc/pki/tls/certs/
make cert.pem

在这里插入图片描述
step3 发送key:

cp cert.pem /usr/local/nginx/conf/

step4 制作发布页面:

mkdir /web
vim /web/index.html   #写入:https---www.westos.org

step5 重新启动nginx:

nginx -t #语法检测
nginx -s reload #在不暂停服务的情况下重新加载

在这里插入图片描述
step5 测试:
https://www.westos.org/ 添加证书
在这里插入图片描述
在这里插入图片描述

发布了184 篇原创文章 · 获赞 7 · 访问量 3632

猜你喜欢

转载自blog.csdn.net/weixin_43936969/article/details/104564900