С Apache я могу сделать обратный прокси-сервер, работающий с этой конфигурацией VirtualHost. Я выполнил nanoc view -p 8080
, чтобы использовать порт 8080 для веб-приложения nanoc.Простой обратный прокси с Nginx (эквивалент Apache)
С этой настройкой http://scalatra.prosseek
отображается на нанок.
<VirtualHost *:80>
ProxyPreserveHost On
ServerName scalatra.prosseek
ProxyPass /excluded !
ProxyPass/http://127.0.0.1:8080/
ProxyPassReverse/http://127.0.0.1:8080/
</VirtualHost>
мне нужно иметь такую же установку с Nginx, с некоторыми проб и ошибок, я мог бы заставить его работать с этой конфигурацией.
upstream aha { # ??? (1)
server 127.0.0.1:8080;
keepalive 8;
}
# the nginx server instance
server {
listen 0.0.0.0:80;
server_name scalatra.prosseek;
access_log /usr/local/etc/nginx/logs/error_prosseek.log;
location/{
# ??? (2)
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://aha/; # ??? (1)
proxy_redirect off; # ??? (3)
}
}
Это работает, но я не уверен, что это лучшая настройка. Здесь приходят на мои вопросы:
- Является ли установка OK для
http://scalatra.prosseek
на локальный хост: 8080:- ли это правильно установка proxy_set_headers? Или я что-то пропустил?
- Для прокси-паса и восходящего потока, это нормально, если два имени одинаковы?
- Нужно ли мне
proxy_redirect off;
?