Browse Source

feat: support docker

master
Dnomd343 4 years ago
parent
commit
1399b54225
  1. 12
      Dockerfile
  2. 3
      conf/docker/init.sh
  3. 60
      conf/nginx/docker/ip.conf

12
Dockerfile

@ -0,0 +1,12 @@
FROM debian
COPY . /root
ADD ./conf/docker/init.sh /
RUN mkdir -p /var/www/echoIP \
&& mv /root/* /var/www/echoIP/ \
&& apt update \
&& apt install -y nginx curl \
&& apt install -y php7.3 php7.3-fpm php7.3-sqlite3 \
&& apt clean \
&& cp /var/www/echoIP/conf/nginx/docker/ip.conf /etc/nginx/conf.d \
&& chmod +x /init.sh
CMD ["sh","init.sh"]

3
conf/docker/init.sh

@ -0,0 +1,3 @@
service php7.3-fpm start
service nginx start
/bin/bash

60
conf/nginx/docker/ip.conf

@ -0,0 +1,60 @@
server {
listen 8080;
root /var/www/echoIP;
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Real-IP;
location = / {
if ($http_user_agent ~* (curl|wget)) {
return 200 $remote_addr\n;
}
index index.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 = /ip {
if ($http_user_agent ~* (curl|wget)) {
return 200 $remote_addr\n;
}
return 200 $remote_addr;
}
location ~* ^/([^/]+?)$ {
set $request_ip $1;
if ($http_user_agent ~* (curl|wget)) {
proxy_pass http://127.0.0.1:8080/info/$request_ip;
}
}
location ^~ /info {
set $is_cli 0;
set $is_https 0;
set $is_legal 0;
if ($uri ~* ^/info/?$) {
set $is_legal 1;
set $query ip=$remote_addr;
}
if ($uri ~* ^/info/([^/]+?)$) {
set $is_legal 1;
set $query ip=$1;
}
if ($is_legal = 0) {
return 404;
}
if ($http_user_agent ~* (curl|wget)) {
set $query $query&cli=true;
}
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_param QUERY_STRING $query;
fastcgi_param SCRIPT_FILENAME /var/www/echoIP/backend/queryInfo.php;
}
}
Loading…
Cancel
Save