自己制作网站的软件,火车头采集并自动发布到wordpress,织梦制作html 网站地图,郑州做网站的外包公司有哪些项目中遇到某些服务在内网#xff0c;需要外网访问的情况#xff0c;需要配置代理访问。可用nginx搭建代理服务。
TCP代理
通过nginx的stream模块可以直接代理TCP服务#xff0c;步骤如下#xff1a;
在/etc/nginx/下新建proxy文件夹#xff0c;用于存放代理配置。此处…项目中遇到某些服务在内网需要外网访问的情况需要配置代理访问。可用nginx搭建代理服务。
TCP代理
通过nginx的stream模块可以直接代理TCP服务步骤如下
在/etc/nginx/下新建proxy文件夹用于存放代理配置。此处以mysql为例假设mysql服务在mysqlserver新建mysqlproxy.conf文件编辑以下内容 upstream mysqlproxy {server mysqlserver:3306;}server {listen 3306;proxy_pass mysqlproxy;proxy_connect_timeout 1h;proxy_timeout 1h;}编辑/etc/nginx/nginx.conf,最后添加如下配置,包含proxy目录内的所有配置。 stream {include /etc/nginx/proxy/*.conf;}nginx -t检查nginx配置是否正确,没有问题则执行nginx -s reload重新加载nginx
可能出现的问题
unknown directive stream in /etc/nginx/nginx.conf 对于比较老版本的nginx可能会出现此错误。需要手动安装nginx的stream模块 yum install nginx-mod-streamnginx: [emerg] bind() to 0.0.0.0:3306 failed (13: Permission denied) 由于SELinux导致查看端口是否已经被semanage 管理
sudo semanage port -l | grep http_port_t如果不在需要添加
sudo semanage port -a -t http_port_t -p tcp 3306(13: Permission denied) while connecting to upstream:[nginx] 在nginx错误日志中看到以上错误可能是SELinux安全机制导致可执行
setsebool -P httpd_can_network_connect 1