nginx域名配置非80端口的301跳轉

有一臺ng配置了xixicat.com的域名,端口爲80;另一臺ng配置的具體的業務服務,好比/article,其端口爲8080.html

配置

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服務code

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

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 ;
        }

    }
相關文章
相關標籤/搜索