nginx反向代理openvpn

简介: nginx反向代理openvpn

使用nginx反向代理openvpn

openvpn是单进程的,使用人数多的时候网络就会比较拥挤。如今服务器上开了3个openvpn进程,监听3个端口。客户端配置文件也填写了3个端口,但一般只会连到第一个配置,所以尝试通过nginx反向代理功能实现openvpn负载均衡。

PS:OpenVPN的搭建另寻他文

安装nginx

nginx需要编译安装,编译参数为:

./configure \
  --with-threads \
  --with-file-aio \
  --with-http_ssl_module \
  --with-http_v2_module \
  --with-http_realip_module \
  --with-http_addition_module \
    --with-http_xslt_module=dynamic \
    --with-http_image_filter_module=dynamic \
    --with-http_geoip_module=dynamic \
    --with-http_sub_module \
    --with-http_dav_module \
    --with-http_flv_module \
    --with-http_mp4_module \
    --with-http_gunzip_module \
    --with-http_gzip_static_module \
    --with-http_auth_request_module \
    --with-http_random_index_module \
    --with-http_secure_link_module \
    --with-http_degradation_module \
    --with-http_slice_module \
    --with-http_stub_status_module \
    --with-stream \
    --with-stream_ssl_module \
    --with-stream_realip_module \
    --with-stream_geoip_module=dynamic \
    --with-stream_ssl_preread_module \
    --with-compat \
    --with-pcre-jit \
    --prefix=/usr/local/nginx

其中--with-stream参数一定要加。

之后make && make install安装即可。

编辑nginx配置文件

  • openvpn服务器IP假设为:192.168.10.11,开放的端口为1194、11995、1196
  • nginx服务器IP假设为:192.168.10.10,监听11940(也可以将nginx和openvpn同一台服务器)

主要配置如下:

stream {
    upstream openvpn {
        #least_conn;
        server 192.168.10.11:1194;
        server 192.168.10.11:1195;
        server 192.168.10.11:1196;
    }
    server {
        listen 11940;
        proxy_pass openvpn;
        }
}
  • stream域不能放在http域内
  • 全局域、event域的参数可根据实际情况自行调整,默认也行,这里做了一点调整:
worker_processes  auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 65530;
events {
    use epoll;
    worker_connections  65530;
    accept_mutex on;
    accept_mutex_delay 300ms;
    multi_accept on;
    worker_aio_requests 128;
}

在路由器上做端口转发

每家路由器的配置都不一样,可自行找一找

之前配置了3个openvpn进程,在路由器上就开了3个端口,还是挺浪费的,现在只需要开放1个端口。

编辑客户端的配置文件

客户端的配置文件配上11940端口即可。

相关文章
|
2月前
|
负载均衡 网络协议 Unix
Nginx七层(应用层)反向代理:SCGI代理scgi_pass篇
Nginx七层(应用层)反向代理:SCGI代理scgi_pass篇
57 1
|
11天前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
61 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
18天前
|
应用服务中间件 nginx
nginx反向代理与证书设置
nginx反向代理与证书设置
30 3
|
17天前
|
负载均衡 算法 应用服务中间件
nginx反向代理与负载均衡
nginx反向代理与负载均衡
19 1
|
1月前
|
JavaScript Java 应用服务中间件
|
26天前
|
JavaScript 应用服务中间件 开发工具
vue尚品汇商城项目-day07【53.nginx反向代理配置】
vue尚品汇商城项目-day07【53.nginx反向代理配置】
28 4
|
2月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
2月前
|
缓存 负载均衡 应用服务中间件
Nginx 代理管理器强势登场!轻松设置反向代理,为你的网络安全与高效护航,快来探索!
【8月更文挑战第23天】Nginx 代理管理器(NPM)是一款强大的工具,用于简化反向代理的设置流程。反向代理能隐藏后端服务器的真实IP,提升安全性,实现负载均衡与缓存等功能。用户需先安装Nginx 代理管理器,然后通过其Web界面添加代理主机,指定代理名称、协议类型、服务器地址及端口等信息。对于HTTPS协议,还需上传SSL证书/密钥。完成设置后,可通过浏览器测试反向代理是否正常工作。Nginx 代理管理器还支持高级特性,如负载均衡、缓存及访问控制等。
90 1
|
2月前
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
69 3
|
2月前
|
负载均衡 算法 应用服务中间件
在Linux中,nginx反向代理和负载均衡实现原理是什么?
在Linux中,nginx反向代理和负载均衡实现原理是什么?