使用nginx反向代理将外部网站加载到子文件夹中根本不起作用

问题描述 投票:0回答:1

我需要将外部网站加载到 nginx 子文件夹中,我尝试了很多,但仍然无法正常工作,这就是我现在所拥有的:

ngixn.coonfig

worker_processes  2;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {}

http {

upstream keepalive-upstream {
  server google.com:443;
  keepalive 64;
}

server {


      listen    9091 ssl;
     
      ssl_certificate /etc/ssl/nginx-selfsigned.crt;
      ssl_certificate_key /etc/ssl/nginx-selfsigned.key;

      location /looker {
                       proxy_pass https://keepalive-upstream;
                       proxy_http_version 1.1;
                       proxy_ssl_server_name on;
                       proxy_buffering         off;
                       proxy_set_header Accept-Encoding "";
                       proxy_set_header        Host  google.com;

                       sub_filter "https://google.com/looker" "https://localhost:9091/looker/";
                       sub_filter_types *;
                       sub_filter_once off;
                      
                   }

    location / {
        root /www;
      }
    }


}

从这里开始,我的目标只是将 google 加载到 https://localhost:9091/looker 子文件夹

但是当我运行时,我看到谷歌错误页面,错误是:

404. That’s an error.

The requested URL /looker was not found on this server. That’s all we know.

任何人都可以看一下上面的 nginx 配置并告诉我什么修复可以使它工作吗?

提前致谢。

nginx nginx-reverse-proxy
1个回答
0
投票

你可以这样尝试:

server {
      listen    443 ssl default_server;
      server_name demo;
      ssl_certificate /etc/ssl/nginx-selfsigned.crt;
      ssl_certificate_key /etc/ssl/nginx-selfsigned.key;

      location ~ /looker(/.*)? {
                       proxy_pass https://google.com$1;
                       proxy_http_version 1.1;
                       proxy_ssl_server_name on;
                       proxy_buffering         off;
                       proxy_set_header Accept-Encoding "";
                       proxy_set_header        Host  google.com;
                   }

    location / {
        root /www;
      }
    }
© www.soinside.com 2019 - 2024. All rights reserved.