首页 > 解决方案 > mikrotik 在 dst-nat 中更改 src 标头 ip

问题描述

首先为我糟糕的英语感到抱歉。

我有一台专用服务器和几个 vm,例如 mikrotik、nginx 等。 mikrotik 有 2 个带有公共和本地 IP 地址的以太网。当我使用 dst-nat 将端口 80 和 443 路由到 nginx 时,请求标头将源 ip 更改为我的本地 ip 作为网关。出于这个原因,一些功能,如 nginx ip 限制不起作用

我的 nat 配置

/ip firewall nat
add action=dst-nat chain=dstnat comment="Nginx - 172.16.10.50" dst-address=\
    XXX.XXX.XXX.XXX dst-port=9522 protocol=tcp to-addresses=172.16.10.50 \
    to-ports=22
add action=dst-nat chain=dstnat dst-address=XXX.XXX.XXX.XXX dst-port=443 \
    protocol=tcp to-addresses=172.16.10.50 to-ports=443
add action=dst-nat chain=dstnat dst-address=7XXX.XXX.XXX.XXX dst-port=80 \
    protocol=tcp to-addresses=172.16.10.50 to-ports=80

add action=masquerade chain=srcnat comment=internet

标签: nginxmikrotik

解决方案


nginx proxy_params

...
proxy_set_header Host $http_host;
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;
...

+在 MK 上可能需要发夹


推荐阅读