文章目录
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/ 添加证书