端口映射,反向代理

v1.0.16
版本
2023-12-13
版本更新時(shí)間
23
安裝
8
star
端口映射
項(xiàng)目介紹
本項(xiàng)目主要用來代理http服務(wù),提供端口映射服務(wù),可以作為網(wǎng)關(guān)使用。
比如可以將很多域名解析到本服務(wù)器,然后由本服務(wù)器代理到其他任意服務(wù)器。
比如一臺(tái)連接了公網(wǎng)的服務(wù)器,然后很多臺(tái)內(nèi)網(wǎng)服務(wù)器,那么可以使用公網(wǎng)服務(wù)器轉(zhuǎn)發(fā)請(qǐng)求的到內(nèi)網(wǎng)服務(wù)器。
本項(xiàng)目也可以代理公網(wǎng)ip,將需要代理的服務(wù)ip地址換成公網(wǎng)ip即可。
當(dāng)然本項(xiàng)目也可以用作類似于nginx的負(fù)載均衡的功能,不過需要調(diào)整服務(wù)端和客戶端以及配置文件。
原理就是給每一個(gè)被代理的服務(wù)器設(shè)置權(quán)重,當(dāng)瀏覽器訪問這個(gè)代理服務(wù)器的某個(gè)端口的時(shí)候,服務(wù)端根據(jù)權(quán)重給對(duì)應(yīng)的客戶端轉(zhuǎn)發(fā)http請(qǐng)求。
如果需要集成到webman或者laravel,thinkPHP等項(xiàng)目,可以將本項(xiàng)目放在業(yè)務(wù)項(xiàng)目的子目錄下,根據(jù)需求開啟進(jìn)程。
項(xiàng)目安裝
composer create-project xiaosongshu/port-mapping
項(xiàng)目結(jié)構(gòu)
|--config
|-config.php # 配置文件
|--temp_client_for_win # windows環(huán)境 channel客戶端運(yùn)行目錄
|-tpl.php # windows環(huán)境 channel客戶端模板文件
|--vendor # 擴(kuò)展文件
|-...
|--windows_server # windows環(huán)境 服務(wù)端運(yùn)行目錄
|-...
- channel.php # windows環(huán)境channel服務(wù)端文件
- client.php # linux環(huán)境channel客戶端文件
- client_for_win.bat # windows環(huán)境啟動(dòng)文件
- client_for_win.php # windows環(huán)境 channel客戶端生成器
- common.php # 公共函數(shù)
- composer.json # 項(xiàng)目依賴配置文件
- composer.lock # 項(xiàng)目依賴配置文件版本鎖定文件
- server.php # linux環(huán)境服務(wù)端啟動(dòng)文件
- server_for_win.php # windows環(huán)境服務(wù)端模板文件
- start_win_server.php # windows環(huán)境服務(wù)端啟動(dòng)模板文件
配置
見config/config.php 。
<?php
return [
/** 代理ip 本服務(wù)器ip地址 */
"server_ip" => "127.0.0.1",
/** 代理端口 本服務(wù)器暴露的端口 nat_list為空生效 */
"server_port" => 8001,
/** 映射ip 被代理的服務(wù)器的ip地址 nat_list為空生效 */
"local_ip" => "127.0.0.1",
/** 映射端口 被代理的服務(wù)器的端口 nat_list為空生效*/
"local_port" => 9501,
/** channel 通道端口 */
"channel_port" => 2206,
/** 端口映射表 */
"nat_list" => [
[
/** 訪問端口 */
"server_port" => 8000,
/** 映射端口 */
"local_port" => 9501,
/** 映射IP */
"local_ip" => "127.0.0.1",
],
[
/** 訪問端口 */
"server_port" => 8400,
/** 映射端口 */
"local_port" => 80,
/** 映射IP */
"local_ip" => "156.236.71.182",
],
]
];
啟動(dòng)
linux環(huán)境
啟動(dòng)服務(wù)端
php server.php start (-d)
啟動(dòng)客戶端
php client.php start (-d)
windows環(huán)境
直接雙擊client_for_win.bat文件即可,
關(guān)閉服務(wù)
在窗口按ctrl+c 可以關(guān)閉服務(wù)。
聯(lián)系作者
2723659854@qq.com