本人菜鸟一个 只是自己给自己做个笔记,刚学习nginx,会的请绕道
nginx 的nginx.conf其它都不用改,只需在http{}这个作用域添加一下代码
# another virtual host using mix of IP-, name-, and port-based configuration
# 翻译上面的话: 另一个虚拟主机使用了IP、名称和端口配置的混合。
# 监听本地请求 指定某个路由访问本地 其它路由全部代理到服务器renrenjiang.cn
server {
listen 8080;
listen localhost:8080;
# server_name somename alias another.alias;
location /api/v2/users/sendSms {
proxy_pass http://127.0.0.1;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location / {
proxy_pass http://renrenjiang.cn;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
}
}
建议这样
server {
listen 8888;
listen localhost:8888;
# server_name somename alias another.alias;
# 必须要有@符号 不然下面的引用无效 我的理解为类似一个方法调用
location @localhostjava {
proxy_pass http://127.0.0.1:8080;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location /api/v2/users/sendSms {
try_files $uri @localhostjava;
}
location / {
proxy_pass http://renrenjiang.cn;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
}
}