使用 nginx 实现通用 HTTPS 到 HTTP 的反向代理

使用 nginx 实现通用 HTTPS 到 HTTP 的反向代理

我想建立一个反向代理,当有人访问 url 时http://proxy.net/fwd/https://target.site.com/,他将获取 的内容target.site.com,但是是通过 HTTP 而不是 HTTPS 进行的。当然target.site.com可以是任何其他网站。

我这里有一个 nginx.conf,但是它总是响应 500。它有什么问题?

用户 nginx;
worker_processes 自动;
错误日志/var/log/nginx/error.log;
pid /var/run/nginx.pid;

包括 /usr/share/nginx/modules/*.conf;

事件 {
    工作者连接1024;
}

http {
    log_format 主要'$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    访问日志 /var/log/nginx/access.log 主要;

    发送文件;
    tcp_nopush 开启;
    tcp_nodelay开启;
    保持活动超时 65;
    类型_hash_max_size 2048;

    包括/etc/nginx/mime.types;
    默认类型应用程序/八位字节流;
    包括/etc/nginx/conf.d/*.conf;

    服务器 {
        听80;
        服务器名称proxy.net;

        位置 ~ ^/fwd/(?<fwd_path>.*)$ {
            解析器 8.8.8.8;
            添加标头访问控制允许来源“*”;
            代理重定向关闭;
            代理密码 $fwd_path;
        }
    }

}

谢谢!

相关内容