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端口即可。

相关文章
|
19天前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
24天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
1月前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
201 1
nginx配置反向代理404问题
|
19天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
33 4
|
19天前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
42 3
|
19天前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
72 3
|
19天前
|
缓存 负载均衡 安全
Nginx的反向代理具体是如何实现的?
Nginx的反向代理具体是如何实现的?
|
2月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
175 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
2月前
|
应用服务中间件 nginx
nginx反向代理与证书设置
nginx反向代理与证书设置
45 3
|
3月前
|
JavaScript Java 应用服务中间件