添加代理脚本
This commit is contained in:
+103
@@ -0,0 +1,103 @@
|
||||
# 内网代理方案使用说明
|
||||
|
||||
## 问题描述
|
||||
- **A设备(当前设备)**:可以监听端口,但无法访问内网网站
|
||||
- **B设备(局域网设备)**:可以访问内网网站,但无法监听端口
|
||||
|
||||
## 解决方案
|
||||
通过反向代理方式实现访问:
|
||||
1. **A设备**:运行代理服务器,监听端口接收用户请求和B设备连接
|
||||
2. **B设备**:主动连接到A设备,负责转发请求到内网网站
|
||||
|
||||
## 文件结构
|
||||
```
|
||||
proxy/
|
||||
├── proxy_server.py # 运行在A设备上
|
||||
├── proxy_client.py # 运行在B设备上
|
||||
└── README.md # 使用说明
|
||||
```
|
||||
|
||||
## 使用步骤
|
||||
|
||||
### 第一步:在A设备(当前设备)上启动代理服务器
|
||||
|
||||
```bash
|
||||
python proxy_server.py
|
||||
```
|
||||
|
||||
输出示例:
|
||||
```
|
||||
A设备代理服务器已启动,监听端口 8080
|
||||
等待B设备连接和用户请求...
|
||||
```
|
||||
|
||||
记录A设备的IP地址(假设为 `192.168.1.50`)
|
||||
|
||||
### 第二步:在B设备上运行客户端程序
|
||||
|
||||
```bash
|
||||
python proxy_client.py 192.168.1.50 8080
|
||||
```
|
||||
|
||||
输出示例:
|
||||
```
|
||||
成功连接到A设备: 192.168.1.50:8080
|
||||
准备转发请求到: superstar.geelytravel.com:443
|
||||
```
|
||||
|
||||
### 第三步:在A设备上访问内网网站
|
||||
|
||||
**方式一:设置浏览器代理**
|
||||
1. 打开浏览器设置
|
||||
2. 设置HTTP/HTTPS代理为:`localhost:8080`
|
||||
3. 访问:`https://superstar.geelytravel.com`
|
||||
|
||||
**方式二:使用curl测试**
|
||||
```bash
|
||||
curl -x http://localhost:8080 https://superstar.geelytravel.com
|
||||
```
|
||||
|
||||
## 工作原理
|
||||
```
|
||||
用户浏览器 → A设备(监听端口8080) → B设备 → 内网网站
|
||||
↑ |
|
||||
└────────────────────┘
|
||||
响应返回路径
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
### A设备(proxy_server.py)
|
||||
```python
|
||||
TARGET_HOST = 'superstar.geelytravel.com' # 目标内网网站
|
||||
TARGET_PORT = 443 # HTTPS端口
|
||||
LISTEN_PORT = 8080 # A设备监听端口
|
||||
```
|
||||
|
||||
### B设备(proxy_client.py)
|
||||
```python
|
||||
TARGET_HOST = 'superstar.geelytravel.com' # 目标内网网站
|
||||
TARGET_PORT = 443 # HTTPS端口
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 确保两台设备在同一局域网内
|
||||
2. A设备的防火墙需要允许端口 `8080` 的入站连接
|
||||
3. B设备需要能正常访问目标内网网站
|
||||
4. 启动顺序:先启动A设备的服务器,再启动B设备的客户端
|
||||
|
||||
## 故障排除
|
||||
|
||||
**B设备无法连接到A设备:**
|
||||
- 检查A设备的IP地址是否正确
|
||||
- 检查A设备的防火墙设置
|
||||
- 确保A设备的代理服务器已启动
|
||||
|
||||
**网站无法访问:**
|
||||
- 检查B设备是否能直接访问目标网站
|
||||
- 检查网络连接是否正常
|
||||
|
||||
**连接不稳定:**
|
||||
- 检查网络稳定性
|
||||
- 考虑增加超时重试机制
|
||||
Reference in New Issue
Block a user