nginx 代理到公共网站

nginx 代理到公共网站

我正在尝试将我的脚本添加到 HTML 的 head 元素中,以配置到公共网站(源)的代理。我可以访问的方式https://proxy.mywebsite.info/?script=www.myscript.com/a.js&origin=google.com并获取注入了我的脚本的原始网站。

注入部分工作正常,但不知何故,任何加载的公共网站都会显示错误,就像我做错了代理一样。经过几个小时尝试不同的 nginx.conf 设置后,我束手无策了。

proxy.mywebsite.info 指向我的机器 127.0.0.1。

我从 nginx 收到的错误

[错误] 2203#2203:*272 “https://” 中的 URL 前缀无效,客户端:127.0.0.1,服务器:proxy.mywebsite.info,请求:“GET /favicon.ico HTTP/1.1”,主机:“proxy.mywebsite.info”

worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
}

http {
        server {
            listen 443 ssl;
            server_name proxy.mywebsite.info;
            ssl_certificate     /etc/ssl/certs/proxy.mywebsite.info.crt;
            ssl_certificate_key /etc/ssl/private/proxy.mywebsite.info.key;
            keepalive_timeout   70;
            proxy_ssl_server_name on;
            proxy_ssl_session_reuse off;
            ssl_protocols       TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
            ssl_ciphers         HIGH:!aNULL:!MD5;
            root /var/www/html;
            index index.html;
            access_log /tmp/access.log;
            error_log /tmp/error.log;
            location / {
                resolver 8.8.8.8;
                proxy_pass https://$arg_origin;
                proxy_read_timeout 10;
                proxy_set_header Host $host;
                proxy_set_header Accept-Encoding "";
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header Connection "Keep-Alive";
                proxy_set_header Proxy-Connection "Keep-Alive";
                proxy_ssl_name $host;
                proxy_ssl_server_name on;
                proxy_ssl_session_reuse off;
                sub_filter '<head>' '<head><script src="https://$arg_script"></script>';
                sub_filter_once on;
           }
       }
}

任何帮助我都会非常感激。

相关内容