技术解析

被 nginx 逼疯了,求助一个极其基础的小问题。。。
0
2021-05-25 12:04:02
idczone

先上配置文件: http {

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

    server_nam美国服务器e  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/ 这肯定不行呀

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


你可以改写成 location /1/ 这样的,写两份 location 。

location /1/
proxy_pass 结尾加 /
就可以了
如果不想写两份配置的话
用 location / 套住 /1/和 /2/
location /1/和 /2/里只写 proxy_pass ,其他配置指令放外面

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服