Nginx反向代理绕过备案

本文介绍了一种跨云服务商迁移博客的方法:通过在原服务商(腾讯云)上部署Nginx进行反向代理,指向新的目标服务器(阿里云),实现二级域名快速切换并绕过ICP备案限制的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前笔者在腾讯云搞过一个Wordpress博客,然后域名备案也是在腾讯云上面搞的,后来又撸了个阿里云的服务器,想把博客迁移到阿里云并且使用Ghost博客,然后使用二级域名链接到阿里云,结果出事了。我大天朝的备案的备案主体居然是服务器。
对于备案的速度,大家应该都懂得,(⊙v⊙)嗯,国情嘛,但是博客想快点折腾,所以就拿出了Nginx。
大家都懂得,Nginx作为Web服务器以外还是反向代理服务器,所以笔者就开动了歪脑筋,准备把二级域名绑定到腾讯云的服务器,然后腾讯云Nginx反向代理到阿里云。

过程

首先肯定是安装Nginx服务器,笔者一直钟情于Tengine,所以就直接拿来源码编译,具体编译就参考笔者的另一篇文章。
然后打开Nginx的配置文件,增加一个server字段,这里笔者又想安利一下tengine.taobao.org网站的文档,确实是非常简洁易懂,而且还有很多中文,看完了里面的文档,基本Nginx已经能做到随意配置了。

server {
    listen 80;
    server_name blog.warmbloom.com; #设置成需要绑定的域名

location / {
    proxy_pass http://xxx.xxx.xxx.xxx; #指向对应的主机,最好是用IP
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header User-Agent $http_user_agent;
}

这里的header字段随意配置,反正也没什么用,就是给后端看的。全部删掉就剩下proxy_pass命令也行。
然后再打开域名,就能使用了。

<think>好的,我现在需要回答用户关于微信小程序是否支持通过WSS协议使用IP加端口进行通信的问题。首先,我需要回顾一下微信小程序的网络通信规则。根据引用[2],微信小程序只能与预先设置的通讯域名进行网络通信,包括HTTPS、上传下载文件以及WebSocket(WSS)。这意味着所有网络请求必须使用域名,而不能直接使用IP地址。 接下来,用户提到的IP加端口的方式是否符合规定呢?根据微信的文档,小程序要求所有连接的域名必须经过ICP备案,并且使用HTTPS或WSS协议。引用[4]中提到,配置WSS需要在服务器端(如Nginx)绑定域名,并进行SSL证书配置。这说明使用IP地址直接连接是不被允许的,因为微信的API在发起请求时会验证域名是否在后台设置的白名单中,而IP地址无法通过这种验证。 然后,我需要确认是否有例外情况。例如,开发阶段是否可以使用IP调试?但根据引用[3],即使使用uni-app和Node.js配置WSS,仍然需要域名,因为小程序在真机调试时也会强制检查域名。因此,无论是开发还是生产环境,都必须使用域名,而不能直接使用IP和端口。 最后,总结结论:微信小程序不支持通过IP加端口进行WSS通信,必须使用已备案的域名,并正确配置SSL证书。同时,引用[4]中的Nginx配置示例也强调了域名绑定和证书的必要性,进一步支持了这一结论。</think>微信小程序中**不支持直接通过IP地址加端口的方式使用WSS协议进行通信**,原因如下: ### 1. 微信小程序的域名限制 根据微信官方要求,小程序所有网络通信(包括WSS)必须使用**已备案的域名**,且域名需预先在小程序后台的「开发-开发管理-服务器域名」中配置[^2]。直接使用IP地址会被微信客户端拦截,导致连接失败。 ### 2. WSS协议与域名绑定 WSS协议本质是WebSocket over TLS,其安全机制依赖域名验证: - **SSL证书绑定域名**:服务器配置WSS时,SSL证书需与域名匹配,无法直接绑定IP地址[^4] - **握手过程验证域名**:客户端在握手阶段会校验域名与证书的一致性,IP地址无法通过验证[^3] ### 3. 解决方案 若需通过IP通信,可通过以下方式间接实现: 1. **域名解析到IP**:将已备案的域名通过DNS A记录解析到目标IP 2. **Nginx反向代理**:在服务器端配置Nginx,通过域名接收WSS请求后转发到IP端口 ```nginx # 示例配置片段 server { listen 443 ssl; server_name your-domain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location /wss { proxy_pass http://目标IP:端口; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } ``` 此配置允许通过`wss://your-domain.com/wss`访问目标IP端口[^4] ### 4. 开发环境特殊说明 **本地调试时**,可通过以下方式绕过限制: 1. 在微信开发者工具中勾选「不校验合法域名」 2. 使用`ws://localhost`(非加密协议,仅限工具内调试) 但上述方法**无法在正式版小程序中使用**。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值