100 lines
4.0 KiB
Markdown
100 lines
4.0 KiB
Markdown
---
|
|
title: Tutorial for setting up HA-Proxy tunnel as relay server
|
|
---
|
|
|
|
# Tutorial for setting up HA-Proxy tunnel as relay server
|
|
|
|
For this you need an relay server to connect to the main server. Usually, this relay server is considered in the country of residence.
|
|
|
|
<div align="center" markdown="1">
|
|
|
|

|
|
</div>
|
|
|
|
Now, HA-proxy tunnel is used here for the communication between the relay server and the main server. After installation, you will connect to the relay server, that server will connect you to the main server, and then you will have free access to the Internet from the main server.
|
|
|
|
> Note: We tested these scripts on Ubuntu 22.04, so it is better to use this version.
|
|
|
|
## Installing the HA-proxy tunnel on the relay server and connecting it to the external server
|
|
|
|
- For this you need an relay server to connect to the main server through it. Usually, this relay server is considered in the country of residence.
|
|
|
|
- (Connect via SSH to the relay server)[/manager/installation-and-setup/How-to-connect-to-server-via-SSH/] and run the HA-proxy installation command.
|
|
|
|
```bash
|
|
sudo apt-get install haproxy
|
|
```
|
|
|
|
- After installation, you need to change the `haproxy.cfg` file, run the command to open the `haproxy.cfg` file with the `nano` text editor.
|
|
|
|
```bash
|
|
nano /etc/haproxy/haproxy.cfg
|
|
```
|
|
|
|
- When the `haproxy.cfg` file opens, go to the end of the file and add the following example:
|
|
|
|
```bash
|
|
frontend myfrontend
|
|
bind *:RELAY_PORT
|
|
mode tcp
|
|
default_backend mybackend
|
|
|
|
backend mybackend
|
|
mode tcp
|
|
server target_server MAIN_SERVER_IP:MAIN_SERVER_PORT
|
|
```
|
|
|
|
- In the `RELAY_PORT` section, put the port of your relay server that you consider for sending requests to the main server.
|
|
|
|
- In the field `MAIN_SERVER_IP:MAIN_SERVER_PORT`, you should put the IP and port of your main server. For example, port 443 is used by HiddifyManager by default.
|
|
|
|
- For example, if the IP of your main server is `10.10.10.10`, in this case, to transfer user traffic on port `443` through the relay server to the main server, the desired file should be as follows:
|
|
|
|
```bash
|
|
frontend myfrontend
|
|
bind *:443
|
|
mode tcp
|
|
default_backend mybackend
|
|
|
|
backend mybackend
|
|
mode tcp
|
|
server target_server 10.10.10.10:443
|
|
```
|
|
|
|
- After making the changes, save the changes by pressing `Ctrl + s` buttons and exit the file by pressing `Ctrl + x`.
|
|
|
|
- After saving the file, press the command to restart HAProxy.
|
|
|
|
```bash
|
|
sudo systemctl restart haproxy
|
|
```
|
|
## Adding Relay server to HiddifyManager
|
|
Now, register a subdomain with the proxy off for your relay server IP and register it in Hiddify Manager on `Relay` mode.
|
|
- Put the registered subdomain in the `Domain` field and you can also set a `Alias` to display in the configurations.
|
|
|
|
<img src="https://github.com/hiddify/hiddify.com/assets/125398461/4c0ade4e-394c-4d52-8067-f15d1778c9ed">
|
|
|
|
## Adding `Relay` configurations to subscription link
|
|
|
|
As always in HiddifyManager, it is better to separate the configs from the subscription link. Therefore, for the registered `Relay` domain, you can check the `Relay` domain in the subscription domain settings so that its configurations are added to the subscription domain.
|
|
|
|
Assuming that the subscription domain is `sublink.hiddify.com`, proceed as shown below to get the job done.
|
|
|
|
<img src="https://github.com/hiddify/hiddify.com/assets/125398461/e9fa3756-bb3a-4ee9-8adb-77a9f58f6354">
|
|
|
|
Now, if you open the user page with the subscription domain (here `sublink.hiddify.com`), you will see that the connections related to the `relay server` have also been added. You can add and use these connections individually or using subscription links to your client.
|
|
|
|
## Removing the HA-Proxy tunnel from the relay server
|
|
|
|
To do this, first run this command.
|
|
|
|
```bash
|
|
sudo systemctl stop haproxy && systemctl disable haproxy
|
|
```
|
|
|
|
Finally, click this command to completely remove the program and service.
|
|
|
|
```bash
|
|
sudo apt remove haproxy
|
|
```
|