本文编写于 2026 天前,最后修改于 2026 天前,其中某些信息可能已经过时。
大多数家庭宽带都封禁了80和443,防止用户在家里未经许可对外搭建HTTP服务
可是呢……我就是觉得数据放在自己手里安心,不用担心欠费被删机,还可以想怎么搞就怎么搞,也是这次博客大搬家的初衷
好歹公网IP还是会有的,端口映射出来,天天访问的时候加个端口号也不是个事儿
那咋整?用一台开着80 443的机子反向代理呗
抢来Lensual的博客服务器当跳板,开搞
什么是反向代理
有反向代理,就有正向代理
正向代理也就是平时用的那个嘛咳咳,用户把数据交给代理,代理负责将数据转给目标,这样就隐藏了用户的身份
反向代理就是反过来,用户向代理请求数据,代理把请求转给真正的目标,这样就隐藏了真实服务器的身份
在这里,我们就利用反向代理这一特性,表面上访问代理的80 443,难记难打的端口什么的,就让nginx去搞好了
如果家里没IPv6,还可以利用跳板的v6实现双栈wwww
需要注意的一点是,既然是反向代理,那么SSL证书应该是要部署在代理服务器上才对
直接放出配置文件吧(喂
好像真的没啥好说明的……写就完事儿了
server {
listen 80;
listen [::]:80;
server_name senayuki.moe www.senayuki.moe;
# HTTP流量跳转到www的HTTPS
return 301 https://www.senayuki.moe$request_uri;
}
server {
listen 443;
listen [::]:443;
server_name senayuki.moe;
# @跳转到www
return 301 https://www.senayuki.moe$request_uri;
}
server {
listen 443;
listen [::]:443;
server_name www.senayuki.moe;
# SSL设置
ssl on;
ssl_certificate fullchain.pem;
ssl_certificate_key privkey.pem;
# 访问/
location / {
client_max_body_size 1024m;
proxy_redirect off;
index index.html index.htm;
# 反向代理到
proxy_pass http://origin:port;
# 拷贝请求头
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
# 将http重写到https(其实没必要
rewrite ^http://$host(.*)$ https://$host$1 permanent;
}
}
其实现在大部分用户家里都有ipv6公网,而且ipv6是不封443的,甚至连80也不封。效果就是用个cloudflare指向这个ipv6,然后开启cdn加速功能,因为cloudflare自己是ipv4,但是cloudflare又具备和ipv6的后端进行通讯的能力,所以就直接建站了……
Angelic47 2019-09-05 13:51
卧槽!是骚操作
瀬名由希 2019-09-05 17:40