Все знают о том что в Facebook’e есть iframe страницы, но не все знают что Facebook эти страницы запрашивает через POST, а не через GET, как делают все остальные. Поэтому все fb:iframe приложения запрашивая у Nginx’а страницы в ответ будут получать ошибку:

405 "Method Not Allowed"

Это легко игнорировать когда Nginx используется как прокси-сервер, но когда за ним ничего нет, то приходится извращаться и единственным решением оказалось проксирование запросов Nginx в Nginx но на другой порт. Сильно урезанный кусок конфига того как это можно реализовать для отдачи статического контента через POST.

upstream fb_static {
    server localhost:8001;
}

server {
    listen       443;
    server_name  _;

    error_page 405 =200 @405;

    location @405 {
        proxy_method GET;
        proxy_pass http://fb_static;
    }
}

server {
    listen 8001;
    server_name _;

    location / {
        root "/var/www/fb";
    }
}

После всех этих извращений страницы будут прекрасно отображаться в Facebook’е через fb:iframe. Но этот вариант то что называется overthinking, поэтому не без помощи Rpsl удалось найти намного более компактный вариант без необходимости проксирования запросов.

server {
    listen       443;
    server_name  _;

    error_page 405 = $uri;

    location / {
        root "/var/www/fb";
        try_files $uri $uri/index.html /404.html =404;
    }
}