Cyrus Blog

FLAG{S0_H4PPY_C_U_H3R3} (>.<)

Nginx+端口转发反代+PHP-CGI

本文共 509 字,预计阅读时间 2 分钟。

这是啥

一个 Nginx 配置文件

这有啥好看的

那麻烦您单击叉叉并把我这个很low的blog从收藏夹删除,再见了您嘞

到底是啥

  • Docker 中(尽量少的更改默认配置文件,fasgcgi 这种的)
  • 起一个 Nginx
  • 有一个端口转发,其中部分路径要使用静态文件(一套 Django 类似的东西)
  • 然后同时用 PHP-CGI 处理 .php 的请求

解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server{
listen 80;
server_name 127.0.0.1;
server_name site.domain.com;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 128m;
}
location /static {
alias /code/site/static/;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /code/php$fastcgi_script_name;
}
}

注:proxy_pass 一行,如果 location 不为 /proxy_pass 末尾加不加 / 无所谓,否则一般建议 proxy_pass 末尾加上 /
Django 起在 8000,转发到 80(Docker 中最终是 内部的80->外部的x)
静态文件解析到/code/site/static/
PHP 的 fastcgi 全部默认配置,/xxx.php会被解析到/code/php/xxx.php(fastcgi_param 那一行的配置)

最后说一句

暑假在长亭科技实习给人总体感觉还是挺棒的。在做的是一个感觉很棒的业务线,可能也比较适合实习生做。不加班不加班不加班,我觉得这一点就很棒啦,办公环境、餐点和一些福利都超级棒。
不过有些之前就熟悉的工作室的人为什么回答问题的时候给人一种装X的感觉呢(不然我也不会把这个文章单独写出来了),有一些玄学的解决方案的话,还是共享一下比较好啦。

最后的最后

关于长亭及之前其他公司面试的经历,以及 2018 年秋招的面试会单独开一篇文章呐。这里是研发狗,会点算法会点安全也会点美工的那种,欢迎交流WeChat Cyru1s