![nginx 代理到公共网站](https://linux22.com/image/769769/nginx%20%E4%BB%A3%E7%90%86%E5%88%B0%E5%85%AC%E5%85%B1%E7%BD%91%E7%AB%99.png)
我正在尝试将我的脚本添加到 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;
}
}
}
任何帮助我都会非常感激。