安装的nginx 地址重写

本文详细介绍了Nginx的配置过程,包括域名重定向、地址带参跳转、禁止访问特定路径等功能,并提供了具体的配置示例。

配置网络源

配置nginx源

安装nginx

启动服务

修改nginx主页

重启访问测试

修改hosts文件

修改主配置文件

server {

        listen    192.168.100.10:80 default_server;

       # listen       [::]:80 default_server;

        server_name  www.newbenet.com;

        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;

        location / {

        }

        error_page 404 /404.html;

            location = /40x.html {

        }

        error_page 500 502 503 504 /50x.html;

            location = /50x.html {

        }

    }

    server {

         listen    192.168.100.10:80;

         server_name  www.benet.com;

         location / {

                if ($host = 'www.benet.com') {

                        rewrite ^/(.*)$ http://www.newbenet.com/$1 permanent;

                        }

                }

        }

客户端抓包工具访问测试

旧域名访问

显示结果

旧域名会自动改变成新域名

配置地址带参跳转

正常访问

修改配置文件 禁止访问后台

客户端测试

强制跳转

客户端测试

 

源代码安装的nginx 地址重写

修改主配置文件测试

修改主配置文件配置旧域名访问

server {

        listen    192.168.100.20:80;

        server_name  www.newbenet.com;

        location / {

            root   html;

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

        server {

        listen 192.168.100.20:80;

        server_name www.benet.com;

        location / {

                if ($host = 'www.benet.com') {

                        rewrite ^/(.*)$ http://www.newbenet.com/$1 permanent;

                        }

                }

 

}

客户端测试

抓包工具测试

配置带参数跳转

创建网站根目录 前后台页面

修改主配置文件

配置hosts文件测试访问

客户端访问后台测试 http://www.benet.com/test.html

禁止访问后台

 server {

        listen     192.168.100.20:80;

        server_name  www.benet.com;

        location / {

            root   /var/www/;

            index  index.html index.htm;

            if ( $request_uri ~ ^/test.html$ ){

                rewrite (.*) http://www.benet.com permanent;

                }

        }

客户端测试 http://www.benet.com/test.html

访问特定网站根目录数据执行跳转

网站根目录创建测试数据

测试正常访问

修改nginx主配置文件访问特定目录数据执行跳转

      location / {

            root   /var/www/;

            location ~* /upload/.*\.php$ {

            rewrite (.+) http://www.benet.com permanent;

                }

访问测试

http://www.benet.com/upload

 

 

 

 

 

 

 

 

 

 

 

 

### Nginx地址重写与代理静态资源的配置 在Nginx中进行地址重写并代理访问另一Web服务的静态资源时,需要合理配置`rewrite`指令和`proxy_pass`指令。以下是详细的配置方法: #### 配置地址重写 通过`rewrite`指令可以实现URL的重定向或重写。例如,将对本地服务器的请求重定向至目标Web服务的静态资源路径。以下是一个示例配置: ```nginx server { listen 80; server_name example.com; location /static/ { rewrite ^/static/(.*)$ /resources/$1 break; # 重写路径[^1] proxy_pass http://target-server.com/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 上述配置中,`rewrite`指令将所有对`/static/`路径的请求重写为目标服务器上的`/resources/`路径。`break`标志表示停止进一步的规则匹配[^2]。 #### 配置反向代理静态资源 当需要代理访问另一Web服务的静态资源时,可以使用`proxy_pass`指令。以下是一个完整的示例: ```nginx server { listen 80; server_name example.com; location /assets/ { proxy_pass http://target-server.com/static/; # 目标服务器的静态资源路径[^3] proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 在此配置中,所有对`/assets/`路径的请求都会被转发到目标服务器的`/static/`路径下。确保目标服务器上的静态资源路径与Nginx配置中的路径一致。 #### 配置本地缓存静态资源 如果希望Nginx直接提供静态资源而无需每次都从目标服务器获取,可以将静态资源缓存到本地目录。例如: ```nginx server { listen 80; server_name example.com; location /static/ { root /var/www/html/static; # 本地静态资源目录[^4] expires 7d; # 设置缓存过期时间 add_header Cache-Control "public, must-revalidate"; } } ``` 此配置会从本地目录`/var/www/html/static`读取静态资源,并设置7天的缓存策略。 #### 处理跨域资源共享(CORS) 如果目标Web服务的静态资源涉及跨域请求,需要在Nginx中添加CORS头。例如: ```nginx location /static/ { add_header Access-Control-Allow-Origin *; # 允许所有来源的跨域请求[^5] add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; add_header Access-Control-Allow-Headers "Origin, Content-Type, Accept"; } ``` 此配置允许任何来源的跨域请求访问静态资源。 --- ### 注意事项 - 确保Nginx配置文件语法正确,可以通过`nginx -t`命令进行检查。 - 如果使用SSL/TLS,请在HTTPS配置中添加相应的证书和密钥文件。 - 在修改配置后,记得运行`nginx -s reload`重新加载Nginx服务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值