我想主持一个网站从家里使用Yggdrasil网络。Yggdrasil在家里给我一个静态的IPv6地址(即使在DNS后面)。然而,“常规”用户不能被路由到该IP地址,除非使用Yggrasil本身,这是一个太多的要求。
因此,我的解决方案是租一个带有静态IPv4地址的小VPS,并在上面运行Yggdrasil。因此,现在我需要将来自VPS上https端口443的所有IPv4流量路由到我的家庭机器的静态Yggdrasil IPv6地址上的端口80,因为它也在运行Yggdrasil,所以VPS可以看到这个地址。
哪个Linux工具最能让我高效、轻松地做到这一点?
基本上:将一台机器的IPv6 4:443上的所有通信量路由到另一台机器的IPv6 6:80。
当我看到GUI是多么的好的时候,我更喜欢轻量级的、可执行的、基于命令行的,并且尽可能接近Linux哲学。
发布于 2022-12-18 13:01:53
这是我自己的答案。获取您在vps上端口上的任何http或https流量,并将其全部转发到外部IPv6端口80。效果很好。
global
maxconn 4096
spread-checks 3
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend ipv4-in
bind *:80
bind *:443
default_backend ipv4-to-ipv6
backend ipv4-to-ipv6
server ipv6 [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:80还没有弄清楚证书的含义。
发布于 2022-12-14 14:34:34
我使用Nginx代理管理器来管理反向代理。这为Nginx反向代理配置提供了一个很好的UI。还有其他反向代理解决方案可以做同样的事情,比如HA-代理和特雷菲克。
yoursite.yourdomain.tld)。我所配置的安装Nginx是详见。
基本上,您创建了这样一个docker-compose.yml文件--在您希望持久数据位于的目录中(我的是/mnt/docker-data/nginx-proxy-manager):
version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql您可以在其中调整以下内容:
'81:81' # Admin Web Port:如果您希望将端口9999暴露在外部,而不是管理接口的端口81,则更改为'9999:81。完成.yml后,运行:(Docker V2)
docker compose up -d或旧版本:(Docker Compose V1)
docker-compose up -d现在转到ip.of.your.vps:9999 (如果您将管理端口更改为此),并使用默认用户登录:
Email: admin@example.com
Password: changeme你得改变这个信息。
现在,创建一个新的代理主机,您将看到这样一个窗口:

输入以下内容:
yoursite.yourdomain.tld中)HTTP (因为您转发到HTTP/端口80)80点击“保存”。
此外,您还可以为站点设置SSL证书(使用内置的加密函数),因此可以在VPS的端口443上使用HTTPS。
发布于 2022-12-15 11:19:43
在阅读了你的问题后,我问自己,为什么你不把你的网站放在VPS上,并且摆脱这样的代理场景。如果您使用代理走这条路,您需要一个服务器(或转发)代理。此代理有3项任务:
你的VPS必须是双重叠加的。
要使用的产品:(其中一种需要)
向谷歌博士要样品康菲斯。
我会去找码头,但这不是要求。有一个小的,丑陋的东西与码头,ipv6支持是正式的实验性,并没有启用默认。您将需要启用IPv6。
由Artur描述的DNS /证书。
https://askubuntu.com/questions/1445003
复制相似问题