WordPress评论IP不正确以及文章翻页按钮无法使用的解决方法

前段时间把整个VPS都docker化了,博客也搞上去了。

一个大的nginx使用proxy_pass转发到各个container。

一开始没啥问题,后来发现,WordPress评论时会记录IP,而现在是都变成了nginx转发器容器的IP,而不是用户的真实ip。

查看所有文章页面的翻页按钮,显示的是博客容器的IP。

这个是nginx设置的问题,一时间找不到什么教程。考虑到博客这种小网站,我决定采取简单粗暴的方法。

在proxy_pass那里,加入

proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

这个的意思是把这些东西也转发过去。

打开wp-config.php,加入

if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
	$http_x_headers = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );

	$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
}
$_SERVER['SERVER_NAME'] = "superlb.net";
$_SERVER['HTTP_HOST'] = "superlb.net";

简单来说就是硬编码,因为我博客的域名啥的也不会变。

发表评论

电子邮件地址不会被公开。 必填项已用*标注