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; set $this 127.0.0.1:1601; set_real_ip_from 0.0.0.0/0; real_ip_header X-Real-IP; root /var/www/echoIP; error_page 403 404 = /error.html; 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://$this/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://$this/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://$this/query$query_param; } location ~* ^/([^/]+?)$ { set $request_ip $1; if ($http_user_agent ~* (curl|wget)) { proxy_pass http://$this/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://$this/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; } }