让docker中的WordPress获取nginx反向代理后的真实IP
本文最后更新于 2020年08月13日

前言

本博客是使用docker进行部署,刚建站的时候没有考虑太多,时间久了,暴露出的问题就越来越多,最要命的就是网站被攻击却无法很好的防御,因为IP一水的宿主机IP

nginx配置真实IP传递

我之前写过nginx开启反向代理并开启https和http2,配置文件是有开启传递真实ip的,但是docker中的wordpress还是无法获取

server {
        server_name blog.sleele.top; # 替换成自己的域名
        listen       80 ;
        location / {
                proxy_pass http://172.17.0.3:1234;  #这个ip,端口替换成你自己的
	        proxy_redirect default;
       		# 保证获取到真实IP
        	proxy_set_header X-Real-IP $remote_addr;
        	# 真实端口号
        	proxy_set_header X-Real-Port $remote_port;
        	# X-Forwarded-For 是一个 HTTP 扩展头部。
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	# 在多级代理的情况下,记录每次代理之前的客户端真实ip 
        	proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
        	# 获取到真实协议
        	proxy_set_header X-Forwarded-Proto $scheme;
        	# 真实主机名
        	proxy_set_header Host $host;
        	# 设置变量
        	proxy_set_header X-NginX-Proxy true; 
        }
}

其实原因在于docker WordPress默认代理是Apache,相当于我只修改了一级代理而没有修改二级代理

开启Apache真实IP传递

首先先建议备份站点后再进行操作

由于我当时建站的时候一把梭,网站内容全在容器里,还没有做持久化,等服务器到期了,迁移站点的时候,我真要好好改一下架构了

vi remoteip.load

# 填写以下内容
LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so
vi remoteip.conf

# 填写以下内容
RemoteIPHeader X-Forwarded-For
RemoteIPProxiesHeader X-Forwarded-By
# 拷贝文件到容器内
docker cp remoteip.load wordpress:/etc/apache2/mods-enabled/remoteip.load
docker cp remoteip.conf wordpress:/etc/apache2/mods-enabled/remoteip.conf
docker restart wordpress

成功

原创声明
本文由 NG6 于2020年03月19日发表在 sleele的博客
如未特殊声明,本站所有文章均为原创;你可以在保留作者及原文地址的情况下转载
转载请注明:让docker中的WordPress获取nginx反向代理后的真实IP | sleele的博客
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇