我在本地网络上运行着一个 Nginx 服务器,我想让它通过 OpenVPN 连接从互联网上访问。以下是我的设置详情:
Ubuntu 服务器本地 IP 地址:
192.168.29.110
OpenVPN 访问服务器 IP 地址:
139.59.60.64
笔记:
- OpenVPN Access Server 在 DigitalOcean Ubuntu 服务器(称为OpenVPN 服务器此处)
- Nginx 运行在家里的本地 Ubuntu 服务器(称为Nginx 服务器此处)
- 家庭网络(ISP)不允许专用 IP/端口转发,因此我无法访问我的Nginx 服务器从 LAN 网络外部。因此目标是连接本地Nginx 服务器到OpenVPN 服务器以便使用所连接的 VPN 的 IP 地址,从而允许Nginx 服务器可以从万维网(公共互联网)访问。
- UFW 已在两者上禁用OpenVPN 服务器也Nginx 服务器。
- DigitalOcean 防火墙已禁用。
Nginx 服务器上的网络配置:Netplan 配置(/etc/netplan/01-netcfg.yaml):
network:
ethernets:
eno1:
addresses:
- 192.168.29.110/24
nameservers:
addresses:
- 8.8.8.8
search: []
routes:
- to: default
via: 192.168.29.1
version: 2
Nginx-server 上的 Nginx 配置:Nginx 配置文件(/etc/nginx/sites-available/default):
server {
listen 80;
listen [::]:80;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name 139.59.60.64;
location / {
proxy_pass http://192.168.29.110; # Update this line
include proxy_params;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
挑战与问题:
- 使用 Nginx 登陆页面替换 OpenVPN 仪表板:
- 我目前从 IP 地址访问 OpenVPN Access Server 仪表板
139.59.60.64
。在建立来自 Nginx 服务器到OpenVPN 服务器,我想用本地 Nginx 登陆页面替换仪表板。我该如何实现?
- 通过 OpenVPN 使 Nginx 可从 Internet 访问:
- 连接到OpenVPN 服务器,我需要在 Nginx 配置文件和 Nginx 服务器上的 Netplan 配置中进行哪些更改才能访问我的Nginx 服务器来自网络?
答案1
您可能需要创建一条静态路由来路由 VPN 网络,其中的设备通过 VPN 连接到主机网络。
并且您需要确保允许vpn端口和流量。
为了确保 nginx 页面可用,您需要确保 nginx 在端口 80/443 上运行,并有几个 vhost 来提供内容。openvpn 访问服务器可能有自己的 web 服务器