有一台ng配置了xixicat.com的域名,端口为80;另外一台ng配置的具体的业务服务,比如/article,其端口为8080.

配置

 server {
        listen       80;
        server_name  xixicat.com;

        location / {
            
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://192.168.99.100:8080 ;
        }

    }
  • article服务

 server {
        listen       8080;
        server_name  xixicat.com;

        location / {
            return 301 /article ;
        }
        
        location /article {
            alias   html/article;
            index  index.html index.htm;
        }

    }

问题及方案

此时如果访问xixicat.com/article,则301到xixicat.com:8080/article,这个不是我们想要的,如何解决呢

 server {
        listen       80;
        server_name  xixicat.com;
        proxy_redirect http://xixicat.com:8080/ /; 
        location / {
            
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://192.168.99.100:8080 ;
        }

    }

codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...