首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用相同的域名在同一个IP:端口上运行nginx和ocserv?

如何使用相同的域名在同一个IP:端口上运行nginx和ocserv?
EN

Server Fault用户
提问于 2023-05-01 19:09:10
回答 1查看 41关注 0票数 0

如何使用相同的域名在同一个IP:端口上运行nginx和ocserv?就像使用SSTP协议可以实现类似的事情一样,如果我没有弄错的话。我正在使用Ubuntu 20.04。

EN

回答 1

Server Fault用户

发布于 2023-05-02 01:58:53

您最可能要做的就是将Nginx配置为侦听HTTPS端口,并将其配置为代理到运行在不同本地端口上的ocserv进程。Nginx需要决定要服务哪个站点,并且为了区别它,可以选择以下两种方法:

  • 主机(例如,vpn.yourdomain.com对web.yourdomain.com)。
  • 前缀路径(例如,web.yourdomain.com/vpn/)。

主人将是最好的方法。在该配置中,您可以将两个DNS条目配置为指向同一个IP地址。Nginx配置看起来如下所示:

代码语言:javascript
复制
server {

# SSL configuration
#
listen 443 ssl default_server;


    ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
    ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;

    server_name web.yourdomain.com;

        location ~ / {
                root /var/www/html/blank/;

                try_files $uri $uri/ =404;
                allow all;
        }

}

server {

    # SSL configuration
    #
    listen 443;


    ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
    ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name vpn.yourdomain.com;

    location / {

          proxy_pass_header Server;
          proxy_set_header Host $http_host;
          proxy_redirect off;
          proxy_set_header X-Forwarded-For  $remote_addr;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Scheme $scheme;
          proxy_connect_timeout 120s;
          proxy_read_timeout 600s;
          proxy_pass http://127.0.0.1:1234/;

    }


}

在这种配置中,从外部可以通过相同的IP/端口(HTTPS/443)获得这两个服务。它们使用不同的DNS主机名(web.yourdomain.com和vpn.yourdomain.com),它们都指向同一个IP。在本例中,ocserv进程将侦听本地端口1234。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1130124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档