nginx端口转发内网使用yum

本文介绍如何在可访问外网的机器上安装并配置Nginx作为代理服务器,通过设置不同的域名映射来实现对特定网站的访问。具体包括Nginx的基本配置文件解析、多个域名的转发设置及客户端的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在能上外网的机器192.168.150.14上安装nginx   
 nginx.conf 配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    
    server
        {
                listen 80;
                server_name  mirrors.163.com;  #要访问的域名
                location / {
                        proxy_pass http://mirrors.163.com;  #转发域名
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header REMOTE-HOST $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                #access_log  /home/wwwlogs/access.log  access;
        }

    server
        {
                listen 80;
                server_name  mirror.centos.org;  #要访问的域名
                location / {
                        proxy_pass http://mirror.centos.org;  #转发域名
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header REMOTE-HOST $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                #access_log  /home/wwwlogs/access.log  access;
        }

    server
        {
                listen 80;
                server_name  yum.puppetlabs.com;  #要访问的域名
                location / {
                        proxy_pass http://yum.puppetlabs.com;  #转发域名
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header REMOTE-HOST $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                #access_log  /home/wwwlogs/access.log  access;
        }
}

客户端 需要yum 到外网的配置:

vi /etc/hosts  配置多个域名的映射到跳板机
192.168.150.14  mirrors.163.com
192.168.150.14  mirror.centos.org
192.168.150.14  yum.puppetlabs.com

cd /etc/yum.repos.d
mkdir old
mkdir *.repo /old

下载163的源到本地
#见 http://mirrors.163.com/.help/centos.html

然后就可以直接使用yum 命令了
### CentOS 7 内网环境下 Nginx 安装指南 在 CentOS 7 的内网环境中安装 Nginx,可以通过源码编译安装的方式实现。以下是详细的安装步骤及相关注意事项: #### 1. 准备工作 确保系统已安装必要的开发工具和依赖库。可以使用以下命令安装这些依赖项: ```bash yum groupinstall "Development Tools" -y yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel -y ``` 如果系统中缺少某些依赖(如 `pcre-devel`),可以根据提示进行安装或调整版本[^3]。 #### 2. 下载并解压 Nginx 源码包 从 Nginx 官方网站下载最新稳定版本的源码包,并将其解压到指定目录。 ```bash wget http://nginx.org/download/nginx-1.22.0.tar.gz tar -zxvf nginx-1.22.0.tar.gz cd nginx-1.22.0 ``` #### 3. 配置编译选项 根据实际需求配置 Nginx 的编译参数。例如,启用 HTTPS 支持时需要添加 `--with-http_ssl_module` 参数。以下是一个常见的配置示例: ```bash ./configure \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-pcre=/path/to/pcre \ --with-zlib=/path/to/zlib \ --with-openssl=/path/to/openssl ``` 如果遇到 `pcre` 或其他模块的兼容性问题,可以参考引用内容中的建议,选择合适的版本并强制安装[^4]。 #### 4. 编译与安装 执行以下命令完成 Nginx 的编译与安装: ```bash make && make install ``` 安装完成后,Nginx 的二进制文件将位于 `/usr/local/nginx/sbin/nginx` 目录下。 #### 5. 启动与管理 Nginx 服务 启动 Nginx 服务: ```bash /usr/local/nginx/sbin/nginx ``` 停止、重新加载配置或获取帮助信息时,可以使用以下命令: ```bash /usr/local/nginx/sbin/nginx -s stop /usr/local/nginx/sbin/nginx -s reload /usr/local/nginx/sbin/nginx -h ``` 若需要管理员权限,请在命令前添加 `sudo`[^2]。 #### 6. 配置内网转发 为了实现内网转发功能,需确保系统的内核支持 IP 转发。可以使用以下命令启用内网转发: ```bash echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p ``` 同时,在 Nginx 配置文件中设置代理规则,例如: ```nginx server { listen 80; location / { proxy_pass http://目标服务器地址:端口; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 修改完成后,重新加载 Nginx 配置以使更改生效。 --- ### 注意事项 - 如果需要卸载旧版本的 Nginx,可以先停止服务并删除相关目录[^5]。 - 在编译过程中,若遇到依赖缺失的问题,可根据错误提示安装相应的开发库。 - 确保所有路径正确无误,特别是第三方模块的路径(如 `pcre`、`zlib` 和 `openssl`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值