2018/01/18

Nginx 最大接收檔案大小

因為最近網路攻擊蠻多的,索性用 reverse proxy 把 NAS 藏在 Nginx 後面,順便讓 Nginx 處理掉 SSL 那段工作:
   location / {
      proxy_pass http://192.168.0.xxx:80;
      proxy_set_header Host $host;       
      proxy_set_header X-Real-IP $remote_addr;
      proxy_buffers 32 32k;
      proxy_buffer_size 32k;
      error_page 404  404.html;
      error_page 500 502 503 504  500.html;
   }

不過後來友人說上傳檔案一直失敗,在某個大小以上的檔案通通出錯。

觀察一下網路流量才發現 Nginx 並不是直接把流量即時 proxy 到 NAS 端,而是整個 HTTP request 完成以後才一次送到 NAS 那邊去,所以上傳檔案時自然會遇到 upload size 問題。

解決方法就是把 Nginx 的 client_max_body_size 調大:
server {
    ....

    client_max_body_size 1g;

    ....
}


Ref:

7XX Range of HTTP Status codes

7xx 系列看起來是惡搞的 HTTP status code,包含開發常見的問題和笑話:RFC for the 7XX Range of HTTP Status codes - Developer Errors

這邊看到幾個比較機車的 status code:
704 - Goto Fail
707 - Can't quit vi
724 - This line should be unreachable
725 - It works on my machine
726 - It's a feature, not a bug
730 - Fucking Bower
767 - Drunk
775 - Out of cash
789 - Not my department
799 - End of the world

2018/01/15

Silex EOL in Jine 2018

Symfony 團隊認為新版的 Symfony 4 的修改,已經能讓使用者有和 Silex 相同的使用者體驗,於是決定不再繼續維護 Silex

http://symfony.com/blog/the-end-of-silex

目前 Silex 將在 6 月結束維護 (EOL, End Of Life):
So, we've decided to not support Symfony 4 in Silex, or at least not add the new features added in 3.4. The current stable version of Silex is still maintained for bugs and security issues. But its end of life is set to June 2018.

2018/01/14

紫羅蘭永恆花園不負責觀後感

這次會被掉坑,除了一堆人推薦以外,也是聽說它是京都動畫大獎近期唯一的大賞獎得主,且還得到了 Netflix 的贊助,所以想看一下所謂「預算無上限」京阿尼的功力可以做到哪裡。

在 Netflix 上了第一集,注意到以下幾點:

  • 畫面很細緻,很注重光影細節
  • 畫面禎數高,不是只有主角動動嘴而已
  • 背影音樂,後面說明

前二項我不專業,交給其他人說明。但音樂製作我到是有沾到邊。

這部作品很不一樣的是背景音樂很意外的使用交響樂團做配樂,不是以前一般的小團,而是連平常較少出現的雙簧管都有的配樂,這應該花了蠻大的一筆經費在作曲和演奏上。

劇情對我來說有點沈重,但以目前的品質我想我應該會看下去。

PHP 7.2 下使用 xdebug

我目前使用的 PHP APT 是「http://ppa.launchpad.net/ondrej/php/ubuntu」,不過看起來在 PHP 7.2 還沒有 xdebug 可以使用。

如果硬要使用 aptitude 安裝,只能裝到 PHP 7.1 的版本。

所以後來用 phpbrew 在硬幹,發現不能安裝是有原因的:目前 xdebug stable 版本只支援到 PHP 7.1,若要在 PHP 7.2 使用 xdebug,只能先安裝 dev 版本

所以開發機可能考慮先降版本回到 7.1 吧。