最近复习反向***的时候可谓几经波折,基本知识可以看我另外一篇https://blog.nowcoder.net/n/e0528dbb55024ee1834189e979db78f2
Nginx做反向***的具体配置如下
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm index.php;
# proxy_pass http://10.50.2.129/;
# proxy_set_header Host $host;
# proxy_set_header X-real $remote_addr;
}
location /txt/ {
# root html;
# index index.html index.htm index.php;
proxy_pass http://10.50.2.129/;
proxy_set_header Host $host;
proxy_set_header XRealIP $remote_addr;
}
}然后就访问10.50.2.133,看看是不是能成功到后端服务器10.50.2.129,后端服务器我用Apache
需注意的点是保证能够互相通信,并访问,防火墙策略记得允许
然后查看Apache的日志,看看访问的源地址是否为客户端访问的地址,如果不是或者配置完访问失败的问题,那就看我总结的如下原因:
1.在Nginx***服务器这里,配置时proxy_set_header后面跟的名字注意下划线,最好用‘-’这个来代替,如果一定要用下划线那就记得加参数underscores_in_headers on;
2.$$remote_addr这些不要写成,我就把钱前面的符号写成@了
3.在后端服务器中,需要获取这个重定义的头部,我在Apache的配置文件中这样改
<IfModule log_config_module>
LogFormat "%{XRealIP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{XRealIP}i %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%{XRealIP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" common
</IfModule>
就是里面的XRealIP就是我改的。格式不写错即可

京公网安备 11010502036488号