显示客户端IP的详细信息
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 lines
2.7 KiB

server {
listen 80;
listen [::]:80;
server_name ip.343.re; # 改为自己的域名
location / {
if ($http_user_agent !~* (curl|wget)) {
return 301 https://$server_name$request_uri;
}
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:1601;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name ip.343.re; # 改为自己的域名
ssl_certificate /etc/ssl/certs/343.re/fullchain.pem; # 改为自己的证书
ssl_certificate_key /etc/ssl/certs/343.re/privkey.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:1601;
}
}
server {
listen 127.0.0.1:1601;
root /var/www/echoIP;
error_page 403 404 500 501 502 503 504 = /error.html;
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Real-IP;
location = /ua {
if ($http_user_agent ~* (curl|wget)) {
return 200 $http_user_agent\n;
}
default_type application/json;
return 200 $http_user_agent;
}
location = / {
set $query_param ?justip=true&cli=true;
if ($http_user_agent ~* (curl|wget)) {
proxy_pass http://127.0.0.1:1601/query$query_param;
}
index index.html;
}
location = /ip {
set $query_param ?justip=true;
if ($http_user_agent ~* (curl|wget)) {
set $query_param $query_param&cli=true;
}
proxy_pass http://127.0.0.1:1601/query$query_param;
}
location = /version {
set $query_param ?version=true;
if ($http_user_agent ~* (curl|wget)) {
set $query_param $query_param&cli=true;
}
proxy_pass http://127.0.0.1:1601/query$query_param;
}
location ~* ^/([^/]+?)$ {
set $request_ip $1;
if ($http_user_agent ~* (curl|wget)) {
proxy_pass http://127.0.0.1:1601/info/$request_ip;
}
}
location ^~ /info {
set $is_legal 0;
set $query_param ?cli=false;
if ($http_user_agent ~* (curl|wget)) {
set $query_param ?cli=true;
}
if ($uri ~* ^/info/?$) {
set $is_legal 1;
}
if ($uri ~* ^/info/([^/]+?)$) {
set $is_legal 1;
set $query_param $query_param&ip=$1;
}
if ($is_legal = 0) {
set $query_param $query_param&error=true;
}
proxy_pass http://127.0.0.1:1601/query$query_param;
}
location = /query {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/echoIP/backend/queryInfo.php;
}
}