求教 关于 nginx 地址转发的问题

2015-10-15 14:21:32 +08:00
 evenno

当请求访问 /test/下的文件是,转发到 ip : 80 端口上,这个在 nginx 下该如何配置

4282 次点击
所在节点    NGINX
9 条回复
evenno
2015-10-15 14:22:44 +08:00
upstream api_servers {
server 127.0.0.1:9500;
#http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive
keepalive 16;
}
server {
listen 80;
server_name www.yuming.com;
root /home/yuming/web;

listen 443 ssl;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;

location ~*\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar|txt|amr|js|css|html?)$ {
root /home/yuming/web;
}


location / {
proxy_pass http://api_servers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_http_version 1.1;
proxy_set_header Connection "";
}

}
fising
2015-10-15 14:42:22 +08:00
location /test {
proxy_pass http://ip:80;
}
evenno
2015-10-15 15:00:42 +08:00
@fising 不行哦, service nginx reload fail
ryd994
2015-10-15 15:01:38 +08:00
@evenno 贴 errorlog
evenno
2015-10-15 15:04:35 +08:00
2015/10/15 14:10:49 [emerg] 789#0: directive "proxy_pass" is not terminated by ";" in /etc/nginx/sites-enabled/api:24
lution
2015-10-15 15:20:35 +08:00
@evenno 少了分号。。
evenno
2015-10-15 15:22:03 +08:00
@lution ok,感谢
3pointer
2015-10-15 15:23:36 +08:00
写完配置,查一下语法
FingerLiu
2015-10-16 09:25:59 +08:00
location 好像需要在 server 里面配吧。
http://nginx.org/en/docs/beginners_guide.html

Configuration File ’ s Structure

nginx consists of modules which are controlled by directives specified in the configuration file. Directives are divided into simple directives and block directives. A simple directive consists of the name and parameters separated by spaces and ends with a semicolon (;). A block directive has the same structure as a simple directive, but instead of the semicolon it ends with a set of additional instructions surrounded by braces ({ and }). If a block directive can have other directives inside braces, it is called a context (examples: events, http, server, and location).

Directives placed in the configuration file outside of any contexts are considered to be in the main context. The events and http directives reside in the main context, server in http, and location in server.

The rest of a line after the # sign is considered a comment.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/228255

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX