将 Nginx 服务器连接到 OpenVPN 并从 Internet 访问

将 Nginx 服务器连接到 OpenVPN 并从 Internet 访问

我在本地网络上运行着一个 Nginx 服务器,我想让它通过 OpenVPN 连接从互联网上访问。以下是我的设置详情:

  • Ubuntu 服务器本地 IP 地址:192.168.29.110

  • OpenVPN 访问服务器 IP 地址:139.59.60.64

笔记

  1. OpenVPN Access Server 在 DigitalOcean Ubuntu 服务器(称为OpenVPN 服务器此处)
  2. Nginx 运行在家里的本地 Ubuntu 服务器(称为Nginx 服务器此处)
  3. 家庭网络(ISP)不允许专用 IP/端口转发,因此我无法访问我的Nginx 服务器从 LAN 网络外部。因此目标是连接本地Nginx 服务器OpenVPN 服务器以便使用所连接的 VPN 的 IP 地址,从而允许Nginx 服务器可以从万维网(公共互联网)访问。
  4. UFW 已在两者上禁用OpenVPN 服务器Nginx 服务器
  5. 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";
    }

挑战与问题

  1. 使用 Nginx 登陆页面替换 OpenVPN 仪表板:
  • 我目前从 IP 地址访问 OpenVPN Access Server 仪表板139.59.60.64。在建立来自 Nginx 服务器OpenVPN 服务器,我想用本地 Nginx 登陆页面替换仪表板。我该如何实现?
  1. 通过 OpenVPN 使 Nginx 可从 Internet 访问:
  • 连接到OpenVPN 服务器,我需要在 Nginx 配置文件和 Nginx 服务器上的 Netplan 配置中进行哪些更改才能访问我的Nginx 服务器来自网络?

答案1

您可能需要创建一条静态路由来路由 VPN 网络,其中的设备通过 VPN 连接到主机网络。

并且您需要确保允许vpn端口和流量。

为了确保 nginx 页面可用,您需要确保 nginx 在端口 80/443 上运行,并有几个 vhost 来提供内容。openvpn 访问服务器可能有自己的 web 服务器

相关内容