nginx巧用之移花接木

利用nginx的搭了一个谷歌镜像代理站点
效果图
效果图

事情是这样

准备用tg的channel来实现一些消息通知。
但tg的地址被墙,总需要在代码中配置代理,有比较强的依赖。

于想想到对消息通知的api自己进行包装,简化后部署到自己服务器上。
准备考虑怎么实现时,突然想到nginx 不就有这功能么。

直接把https请求到自己域名上,再在nginx配置,location下proxy_pass到指定服务器。

于是实践了下

  • 先给自己的域名增加一个子域名,指自向自己服务器ip。
  • 给服务器nginx增加一个server配置。
  • 给子域名申请张ssl证书。
  • 在server中增加https配置,location 下的proxy_pass到指定站点。

然后想到tg可以这样实现
google也可以这样实现,于是做了一个google的镜像代理网站。

nginx的配置参考:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 80 ;
server_name g.fengcl.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name g.fengcl.com;
location / {
proxy_pass https://www.google.com;
}

ssl_certificate /etc/letsencrypt/live/g.fengcl.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/g.fengcl.com/privkey.pem;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
# 其它证书配置略
}