Nginx允许特定的ip4地址
我只允许特定的客户端ip4地址到达我的站点。 但是我在访问日志上只能看到外部ip地址,而不是客户端的真实ip4地址。Nginx允许特定的ip4地址,nginx,routes,webserver,Nginx,Routes,Webserver,我只允许特定的客户端ip4地址到达我的站点。 但是我在访问日志上只能看到外部ip地址,而不是客户端的真实ip4地址。 我所做的尝试: server { server_name test.sample.com;
我所做的尝试:
server {
server_name test.sample.com;
location / {
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Host $host;
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
#proxy_set_header REMOTE_ADDR $remote_addr;
# my specific ip4 adresses to allow
allow 192.XXX.XXX;
allow 192.XXX.XXX;
deny all;
}
root /usr/share/nginx/test;
error_log /var/log/nginx/app-server-error.log notice;
index demo-index.html index.html;
expires -1;
sub_filter_once off;
sub_filter 'server_hostname' '$hostname';
sub_filter 'server_address' '$server_addr:$server_port';
sub_filter 'server_url' '$request_uri';
sub_filter 'remote_addr' '$remote_addr:$remote_port';
sub_filter 'server_date' '$time_local';
sub_filter 'client_browser' '$http_user_agent';
sub_filter 'request_id' '$request_id';
sub_filter 'nginx_version' '$nginx_version';
sub_filter 'document_root' '$document_root';
sub_filter 'proxied_for_ip' '$http_x_forwarded_for';
}
它们都不管用。当我显示访问日志时:
87.xx.xxx.xxx - - [20/Oct/2020:22:29:15 +0000] "GET ...
87.xx.xxx.xxx - - [20/Oct/2020:22:29:16 +0000] "GET ...
但这是我的外部ip地址,不是真正的ip4地址
有人能帮我吗
谢谢您是否从内部访问该服务
87.xx.xxx.xxx
?不,实际上nginx在aws ec2实例上运行,我正在通过我的pc浏览器呼叫该网站。当我检查我的电脑ip4地址是192.xxx。。。。外部是87.xx。。。。。在nginx的访问日志中,我看到了87.xx。。。地址。如果其192.168.x.x
仅存在于您的LAN上。AWS将看到您的公共IP地址,您可以通过浏览像Yes its private这样的网站进行检查。那么我如何在nginx上允许一些IP地址,因为公共IP在几天后总是在变化。你有什么想法吗?我的问题是我只想允许特定网络中的用户。e、 g如果它们通过vpn连接。