Nginx 代理配置

nginx 正向http代理配置 需要用户名和密码认证

生成密码文件:

linux需要安装:
 #yum -y install httpd-tools
生成密码文件:
#htpasswd -c /usr/local/nginx/conf/pwd/passwd 用户名 输入密码 重新输入密码

 

server配置:

在conf的目录下创建hosts文件夹并在nginx.conf最后插入 include hosts/*.conf;

在hosts中创建文件myproxy.conf

 

server {
        access_log /usr/local/nginx/logs/access.log;#日志目录
        listen 39001;#监听端口
        location / {
                resolver 8.8.8.8;#DNS地址
                proxy_pass $scheme://$http_host$request_uri;
                auth_basic "Please input password";#提示
                auth_basic_user_file /usr/local/nginx/conf/pwd/passwd;#用户密码加密文件
                proxy_buffers   256 4k;#缓存大小
                proxy_max_temp_file_size 0k;
        }
}

 

 

 

 

命令:

nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出nginx
nginx -t   #测试配置是否有语法错误

 

文件服务器配置:

进行简单配置
         在安装目录的conf文件夹下的nginx.conf中配置:
                  location ^~ /svn/ {    //表示含有svn/关键字就会进入以下规则
                     root /data/;
                     autoindex on;
                 }
         以上表示:http://[ip]/svn/ 实际访问路径为:/data/svn/;autoindex on表示打开目录浏览功能。当然nginx
      的规则配置还有很多,可以自行百度。
         


注意:location = / (精确匹配)与 location  /(模糊匹配)。后者表示请求地址只要含有/,就会给实际访问路径加上其规则里面配置的路径。比如:
         配置文件:
                   location  / {
                          root html;
                          index  index.html index.htm;
                       }
                          
                   location ^~ /svn/ { 
                          root /data/;
                          autoindex on;
                 }
         那么请求“http://[ip]/svn/”则会先被“location  /”匹配,实际访问路径变成:/usr/local/nginx/html,然      后继续匹配发现满足svn关键字,故又加上/data/svn/,因此实际访问路径是/usr/local/nginx/html/data/svn/。
         另: location = / {
            root   html;
            index  index.html index.htm;
        }中的“root html”,表示当前安装目录下的html,“root /html”否则表示服务器根目录下的html。

转载于:https://www.cnblogs.com/virtulreal/p/9546570.html

### 回答1: nginx代理配置文件可以包含一个或多个 `server` 块,每个 `server` 块用于配置一个虚拟主机。 在 `server` 块中,可以使用 `location` 指令来配置代理。例如,如果你想将所有请求代理到另一个服务器上,可以使用以下配置: ``` server { listen 80; location / { proxy_pass http://other_server; } } ``` 这样,所有请求都会被代理到 http://other_server。 你还可以通过使用正则表达式来限制代理的路径,或者通过使用 `proxy_redirect` 指令来修改响应头中的 `Location` 字段。 ### 回答2: Nginx是一个高性能的HTTP和反向代理服务器,可以通过代理配置文件来进行配置代理配置文件通常是指Nginx的主配置文件nginx.conf中的部分或全部内容,用于定义Nginx代理行为。 在代理配置文件中,可以通过以下几个关键字来配置Nginx代理功能: 1. server:用于定义一个虚拟服务器,可以配置该服务器的监听地址和端口号。一个Nginx可以定义多个虚拟服务器来监听不同的地址和端口。 2. location:用于定义请求的匹配规则和代理行为。可以指定要代理的目标地址、代理方式(例如反向代理正向代理)、代理请求头等。 3. proxy_pass:用于指定要代理的目标地址,可以是一个具体的URL或者一个包含变量的表达式。 4. proxy_set_header:用于设置代理请求头的值,可以设置HTTP头字段、代理连接方式等。 5. proxy_buffering:用于设置是否开启代理缓存,可以提高反向代理的性能。 除了上述关键字,代理配置文件还可以使用一些Nginx提供的变量来进行配置,例如$remote_addr表示客户端的IP地址,$uri表示请求的路径等。 通过配置代理配置文件,可以实现Nginx代理功能,将客户端的请求转发到其他服务器上进行处理。代理配置文件的灵活性和强大功能使得Nginx在实际应用中被广泛使用,可以通过配置文件来满足各种不同的代理需求。 ### 回答3: nginx代理配置文件是指用于配置nginx反向代理服务器的文件。通过这个配置文件,可以指定nginx代理服务器接收的请求,并将其转发到后端服务器上。 在nginx配置文件中,每个代理服务器配置由一个或多个location块组成。每个location块指定了一个URL路径和相应的配置。 在每个location块中,可以通过proxy_pass指令指定要转发到的后端服务器的地址。例如,proxy_pass http://backend_server; 将请求转发到名为backend_server的后端服务器。 除了proxy_pass,还可以配置其他代理相关的指令,如proxy_set_header设置要传递到后端服务器的头部信息,proxy_redirect用于重定向响应等。 在配置文件中,可以设置多个代理服务器,每个代理服务器对应一个或多个location块。这样可以根据需要进行灵活的转发配置。 此外,还可以在配置文件中设置ssl相关的指令,用于配置 HTTPS 的代理配置ssl证书和私钥的路径,以及其他与HTTPS相关的参数。 完成配置文件后,需要重新加载nginx配置,并启动nginx服务器。 可以使用nginx -t命令验证配置文件语法是否正确,然后使用nginx -s reload命令重新加载配置文件。 通过以上的配置nginx代理服务器可以根据配置文件中的规则,将接收到的请求转发到指定的后端服务器上,实现了代理功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值