我创建一个新的conf文件来阻止所有公共IP访问,并只给一个公共IP地址(办公室公共IP)访问。但是当我试图访问其显示“403禁止nginx的”允许IP的Nginx配置不工作拒绝所有工作正常
upstream backend_solr { ip_hash; server ip_address:port; } server { listen 80; server_name www.example.com; index /example/admin.html; charset utf-8; access_log /var/log/nginx/example_access.log main; location/{ allow **office_public_ip**; deny all; proxy_pass http://backend_solr-01/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ /favicon\.ico { root html; } location ~ /\. { deny all; }}
,但在日志中它显示访问到公网IP,但禁止
IP_Address - - [31/Jul/2017:12:43:05 +0800] "Get /example/admin.html HTTP/1.0" www.example.com "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" "my_office _IP" "-" "-" "-" 403 564 0.000 - - -
我认为它应该工作,如果您从文件的末尾删除“location〜/ \。{deny all;}”。 – Cninroh
我找不到'main'日志格式的定义 - 但是日志条目开头的IP地址是什么? –
@Cninroh该位置只与具有以*开始的路径元素的URI匹配。 –