被 nginx 逼疯了,求助一个极其基础的小问题。。。

2016-09-10 23:20:48 +08:00
 whx20202

先上配置文件: http {

    server {
    listen  8080 default backlog=2048;
    listen  443 ssl;

    server_name  127.0.0.1;  

    ssl_certificate /etc/nginx/马赛克.crt;
    ssl_certificate_key /etc/nginx/马赛克.key;

    location / {   
        proxy_pass http://bbs.马赛克.edu.cn;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_pass_header Server;

        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;

        }
        error_page   500 502 503 504  /50x.html;   
   }

    ##
    # Basic Settings
    ##

    sendfile on; 
    tcp_nopush on; 
    tcp_nodelay on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64; 
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # Logging Settings
    ##

我证书那个也弄了,从某些方面还是可以证明,我真的不是伸手党的 ,哭。。。 可是我现在想这样:

浏览器访问:127.0.0.1/1/,系统给我反代到 bbs.1.com 同理:127.0.0.1/2/ 反代到 bbs.2.com

然而结果是这样: 可是之前的配置文件一捣鼓,是这样的: 我访问 127.0.0.1/1/ 他到了 bbs.1.com/1/ 这肯定不行呀

谁会的可以帮我一下吗? 我实在百度不出来,谁知道我错在哪? 还有我的配置项有没有哪个地方有硬伤呀?先谢谢各位了

4177 次点击
所在节点    NGINX
2 条回复
ss098
2016-09-10 23:42:43 +08:00
你可以改写成 location /1/ 这样的,写两份 location 。
ryd994
2016-09-11 04:49:44 +08:00
location /1/
proxy_pass 结尾加 /
就可以了
如果不想写两份配置的话
用 location / 套住 /1/和 /2/
location /1/和 /2/里只写 proxy_pass ,其他配置指令放外面

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

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

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

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

© 2021 V2EX