我需要将外部网站加载到 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 配置并告诉我什么修复可以使它工作吗?
提前致谢。
你可以这样尝试:
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;
}
}