嘿伙计我在使用nginx代理时遇到了麻烦。
我想将其设置为将所有请求重定向到一个外部网站(已有)。
但是除了域名hg.mydomain.com上的请求这些请求我想重定向到localhost:4567(sinatra app住在那里)
但那不起作用
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
server {
listen 80;
server_name *.hg.mydomain.com;
location / {
proxy_pass http://127.0.0.1:4567/;
}
}
server {
listen 80;
location / {
proxy_pass http://sb.mydomain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Shoebox-Host $host;
}
}
}
答案 0 :(得分:0)
如果您希望http://hg.mydomain.com指向Sinatra应用,您可能需要更改该行
server_name *.hg.mydomain.com;
到
server_name .hg.mydomain.com;
或
server_name hg.mydomain.com;
此外,您可能希望将default_server
添加到listen
以获取默认服务器。在此处详细了解:http://wiki.nginx.org/HttpCoreModule#listen