Ответ 1
Для чего вы пытаетесь использовать веб-сервер для обслуживания статического контента и обеспечения доступа к контейнеру (gunicorn, tomcat и т.д.), содержащему ваше приложение. Также это лучшая практика.
Предположим, что вы используете nginx в качестве веб-сервера, потому что его проще настроить. Файл конфигурации nginx будет выглядеть следующим образом:
# Server definition for project A
server {
listen 80;
server_name derpshow.com www.derpshow.com;
location / {
# Proxy to gUnicorn.
proxy_pass http://127.0.0.1:<projectA port>;
# etc...
}
}
# Server definition for project B
server {
listen 80;
server_name api.derpshow.com www.api.derpshow.com;
location / {
# Proxy to gUnicorn on a different port.
proxy_pass http://127.0.0.1:<projectBg port>;
allow 127.0.0.1;
deny all;
# etc...
}
}
И вот оно.
OLD ANSWER: Попробуйте использовать nginx-buildpack, он позволяет запускать NGINX перед вашим сервером приложений на Heroku. Затем вам нужно запустить приложения на разных портах и настроить один порт на api.derpshow.com и другие на app.derpshow.com, а затем вы можете ограничить вызовы на api.derpshow.com только с локального хоста.