整了个 Wordpress 玩玩,但是在代理这块出了点问题。
目前的架构如下:
Apache2 通过端口 1111 提供服务,然后 nginx 代理该端口。
但是在前端访问时发现 Wordpress 的部分素材并没有识别到正确的服务器地址,而是代理中填写的地址。
请问如何解决?
注:实际端口 1111 在外网是不可访问的。
1
westoy 2022-06-02 16:05:19 +08:00
apache 设置下 mod_remoteip 的参数
|
2
learningman 2022-06-02 16:06:48 +08:00 via Android
X Forward For
|
3
microxiaoxiao 2022-06-02 17:23:54 +08:00 via Android
哈哈,我在做 minio 分发的时候就有类似的问题,你需要在 nginx 转发请求过程中,修改 host
|
4
wanguorui123 2022-06-02 17:37:45 +08:00 via iPhone 1
X-Forwarded-For X-Real-IP
|
5
yohole 2022-06-02 17:41:12 +08:00
首先给你这个提问题的内容给个赞!
然后要说的你,你这个直接把关键字打到百度或者谷歌的话,答案其实就直接出来了。。。。而且效率比发个帖要高得多。。。。 |
6
dem0ns 2022-06-02 17:58:52 +08:00
Nginx 添加 header X-Forwarded-For 值设置为 remote_ip ,后端获取 header 中的 X-Forwarded-For
|
7
ellaalinda 2022-06-02 19:53:29 +08:00
# 向后端传递访客 ip
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
8
nuyan 2022-06-02 20:05:02 +08:00 1
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
9
microxiaoxiao 2022-06-02 20:24:09 +08:00 1
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; #proxy_set_header Host $http_host; //这个地方就是填写 Host 字段的, 我的环境 minio 监听的是 127.0.0.1:9000, 那么它在进行签名校验的时候,转发默认是不对的,就修改成了下面的。//ubuntu20.04 proxy_set_header Host "127.0.0.1:9000"; 要修改 |