【发布时间】:2016-01-24 08:22:44
【问题描述】:
使用 Apache,我可以使用此 VirtualHost 配置进行反向代理。
我已经执行nanoc view -p 8080为 nanoc Web 应用程序使用 8080 端口。
通过此设置,http://scalatra.prosseek 被映射到 nanoc。
<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)
}
}
它有效,但我不确定这是否是最佳设置。 我的问题来了:
-
http://scalatra.prosseek到 localhost:8080 的设置是否正常:- proxy_set_headers 的这些设置是否正确?还是我错过了什么?
- proxy_pass和upstream,两个名字一样就可以了吗?
- 我需要
proxy_redirect off;吗?
【问题讨论】: