本文將介紹如何利用純chún Nginx 搭建jiàn IP 地址查詢接口kǒu (只查詢xún IP 地址zhǐ ,不查詢xún IP 歸屬地dì ),如果有查詢xún IP 歸屬地的需求qiú ,可以參考另一位大佬的一篇文章zhāng 純chún Nginx 打造zào IP 地址查詢接口kǒu 。
好久不見jiàn ,這兩個月由於一些原因yīn (考試shì 、面試shì )一直沒有更新博客kè ,今天終於有時間了le ,就趕忙來更新xīn 。用yòng Nginx 來獲取qǔ IP 這個方法是去年nián 8 月份在處理lǐ DDNS Openwrt 插件無法更新xīn IP 的de case 時瞭解到的de ,當時插件裏獲取qǔ IP 的接口kǒu ns1.dnspod.net:6666 由於是早些年寫的一個程序僅支持chí http/0.9 導致zhì DDNS 插件無法正常獲取qǔ IP 地址zhǐ ,後面一位大佬改用yòng Nginx 來獲取qǔ IP 地址zhǐ ,那次才知道dào Nginx 原來還能這麼用yòng ,簡直是學藝不精哈hā 哈哈。
安裝zhuāng Nginx 的方法就不介紹了le ,直接丟配置文件了le 。
文末有現成的de ,如果你不想自己搭建的話可以直接使用yòng 。
配置示例lì 獲取qǔ IP(JSON) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 server { listen 80 ; listen [::]:80 ; listen 443 ssl http2; listen [::]:443 ssl http2; server_name ipv4.ddnsip.cn ipv6.ddnsip.cn ddnsip.cn; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" ; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" ; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" ; location / { default_type application/json; return 200 '{"ip":"$remote_addr "}' ; } ssl_certificate /root/.acme.sh/*.ddnsip.cn /fullchain.cer; ssl_certificate_key /root/.acme.sh/*.ddnsip.cn /*.ddnsip.cn.key ; ssl_session_timeout 5m ; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3 ; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on ; }
獲取qǔ IP(純文本běn ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 server { listen 80 ; listen [::]:80 ; listen 443 ssl http2; listen [::]:443 ssl http2; server_name ipv4.ddnsip.cn ipv6.ddnsip.cn ddnsip.cn; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" ; location / { default_type text/plain; return 200 $remote_addr ; } ssl_certificate /root/.acme.sh/*.ddnsip.cn /fullchain.cer; ssl_certificate_key /root/.acme.sh/*.ddnsip.cn /*.ddnsip.cn.key ; ssl_session_timeout 5m ; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3 ; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on ; }
獲取qǔ UA 這是額外的內容róng ,閒的de 沒事寫的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 server { listen 80 ; listen [::]:80 ; listen 443 ssl http2; listen [::]:443 ssl http2; server_name ipv4.ddnsip.cn ipv6.ddnsip.cn ddnsip.cn; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" ; location / { default_type text/plain; return 200 $http_user_agent ; } ssl_certificate /root/.acme.sh/*.ddnsip.cn /fullchain.cer; ssl_certificate_key /root/.acme.sh/*.ddnsip.cn /*.ddnsip.cn.key ; ssl_session_timeout 5m ; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3 ; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on ; }
附言yán 看着很複雜是shì 不是,是不是懶得寫xiě (/手動狗頭tóu ,沒關係xì ,這有現成的de UA: https://ua.ddnsip.cn 或huò https://ddnsip.cn/ua (JSON) IP: https://ddnsip.cn 或huò https://ddnsip.cn/json IPv4: https://ipv4.ddnsip.cn 或huò https://ddnsip.cn/json IPv6: https://ipv6.ddnsip.cn 或huò https://ipv6.ddnsip.cn/json
Linux下使用直接看下面鏈接裏的說明míng :https://www.ddnsip.cn
閒的沒事搞了個查chá IP歸屬的de (不保證穩定和準確què ):https://ip.ddnsip.cn/