最近更新于 2023-06-02 12:27

环境

Ubuntu 20.04 (海外服务器),防火墙开放 80 和 443 端口
nginx 1.18.0
准备一个域名,免费申请SSL域名证书可去 https://freessl.cn/ (Google 强制 https)

操作

安装服务器软件

sudo apt update
sudo apt install nginx

配置访问密码(避免滥用,可选)

# printf "【换成自己要设置的用户名】:$(openssl passwd -6 【换成自己要设置的密码】)\n" > 【密码保存路径】

# 比如我设置用户名为 abc,密码为 123,保存到当前用户 myname 家目录下,名字为 .passwd,则执行
printf "abc:$(openssl passwd -6 123)\n" > /home/myname/.passwd

修改配置文件(删除默认的内容),以 root 权限编辑 /etc/nginx/sites-available/default(反向代理 Google)

server{
        listen 80;
        server_name 【替换成自己的域名】;
        return 301 https://$host$request_uri;
}

server {
        listen 443 ssl http2;
        ssl_certificate 【替换成自己的域名证书路径 .pem】;
        ssl_certificate_key 【替换成自己的域名证书私钥路径 .key】;
        server_name 【替换成自己的域名】;

        resolver 8.8.8.8;
        location / {
            proxy_redirect off;
            proxy_cookie_domain google.com 【替换成自己的域名】; 
            proxy_pass https://www.google.com;
            proxy_connect_timeout 60s;
            proxy_read_timeout 5400s;
            proxy_send_timeout 5400s;

            proxy_set_header Host "www.google.com";
            proxy_set_header User-Agent $http_user_agent;
            proxy_set_header Referer https://www.google.com;
            proxy_set_header Accept-Encoding "";
            proxy_set_header X-Real-IP $remote_addr; 
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header Accept-Language "zh-CN";
            proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=en-US:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw";

            # 如果前面没有配置密码文件,就删除下面三行
            auth_basic "Hello World";
            auth_basic_user_file 【前面生成的密码文件路径】;
            autoindex on;
        }
}

然后重启服务器生效

sudo service nginx restart

file