阿里云vps搭建客户端,一台免备案vps搭建服务端
服务端配置
bindPort = 7000
vhostHTTPPort = 800
vhostHTTPSPort = 4430
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "zhanghao"
webServer.password = "mima"
auth.method="token"
auth.token = "mima"
客户端配置
serverAddr = "your_ip"
#连接到云服务器端口,需要和frps.toml配置文件中端口一致
serverPort = 7000
auth.method = "token"
auth.token = "mima"
#web
[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["your_domain"]
#web443
[[proxies]]
name = "web443"
type = "https"
customDomains = ["your_domain"]
[proxies.plugin]
type = "https2http"
localAddr = "127.0.0.1:80"
在阿里云vps搭建typecho博客,在免备案vps只需搭建一个同名网站并申请SSL证书
只需在免备案vps的nginx配置文件中添加
location ~ \.well-known{
allow all;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_pass http://localhost:800;
}贴上完整配置
server {
listen 80;
listen 443 ssl;
listen 443 quic;
http2 on;
# 修改为你的域名
server_name your_domain;
#CERT-APPLY-CHECK--START
# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除并保持这段设置在优先级高的位置
include /www/server/panel/vhost/nginx/well-known/your_domain.conf;
#CERT-APPLY-CHECK--END
include /www/server/panel/vhost/nginx/extension/your_domain/*.conf;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /www/server/panel/vhost/cert/your_domain/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/your_domain/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_tickets on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';
error_page 497 https://$host$request_uri;
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_pass http://localhost:800;
}
access_log /www/wwwlogs/your_domain.log;
error_log /www/wwwlogs/your_domain.error.log;
}最后访问your_domain就可以愉快的玩耍了
发现了几个问题,访问https://your_domain时加载不正常,有几个解决办法
1.修改 Typecho 配置(推荐)
在阿里云服务器上的 Typecho 根目录,编辑 config.inc.php,添加以下代码,强制全站生成 HTTPS 链接:
/** 开启 HTTPS */
define('__TYPECHO_SECURE__', true);清空浏览器缓存后刷新即可。
2.修改国外 VPS 的 Nginx 配置
在国外 VPS 的 Nginx 配置中添加 Header,强制升级不安全请求(但这不如直接改源码彻底):
# 在 server 块内添加
add_header Content-Security-Policy "upgrade-insecure-requests";其实阿里云服务器完全不需要配置 HTTPS 证书,只需要用方法1让 Typecho 程序“知道”自己正在被 HTTPS 访问即可。
3.deepseek给的办法
用 Cloudflare Origin Rules 替代文章方案?
完全可以,且更推荐(架构更简洁)。
你参考的文章架构是:用户 -> 国外VPS(Nginx+SSL) -> FRP -> 阿里云。这个方案需要在国外 VPS 手动配置证书,比较繁琐。
你的 Cloudflare 改良方案:用户 -> Cloudflare(CDN+SSL) -> 国外VPS(FRP only) -> 阿里云。
优势:Cloudflare 免费帮你搞定 SSL 证书和全球加速,国外 VPS 只做纯 TCP/HTTP 转发,无需配置复杂的 Nginx 和证书。
具体实施步骤(基于你现有 FRP 配置):
DNS 设置:
域名 DNS 解析到你的 国外 VPS IP。
必须开启代理(橙色云朵),这是隐藏端口的关键。
Cloudflare SSL/TLS 设置:
加密模式:选择 Flexible(因为你的阿里云源站是 HTTP)。
Always Use HTTPS:开启。
Origin Rules(关键步骤):
进入 Rules > Origin Rules。
匹配条件:Hostnameequals 你的域名
动作:Override origin port-> 填写你的 FRPS 监听端口(例如文章里常用的 8080或 8443)。
保存。
FRP 服务端(国外 VPS)调整:
无需运行 Nginx,只需运行 frps。
frps.toml配置中,只需保留 bindPort(如 7000)和 vhostHTTPPort(如 8080)。不需要配置 vhostHTTPSPort,因为 HTTPS 已经在 Cloudflare 端终止了。
FRP 客户端(阿里云):
保持 type = http,指向阿里云本地的 80 端口即可。
流量逻辑验证:
用户访问 https://yourdomain.com(443) -> Cloudflare(自动SSL)-> 回源到 国外VPS_IP:8080-> FRPS 转发 -> 阿里云 HTTP 80。
阿里云依然只看到 HTTP 流量,且由于 Cloudflare 提供了 SSL,不再有混合内容问题。
总结
解决加载不全:在阿里云 Typecho 的 config.inc.php里加 define('__TYPECHO_SECURE__', true);。
优化架构:直接采用 Cloudflare (SSL) + Origin Rules (改端口) + FRP 的方案,比文章里“国外 VPS 自建 Nginx”的方式更省事、更稳定。
评论区: