Nginx增加替換模塊教程Substitutions 文后附帶最新實戰運營配置帶301跳轉

釋放雙眼,帶上耳機,聽聽看~!

此教程適合全新安裝,下面以烏班兔環境來操作

1、下載substitutions4nginx模塊,這個模塊用于替換。

pkill nginx
/etc/init.d/nginx stop #停止nginx
cd
apt-get update
apt-get install -y git gcc g++ make automake
#安裝依賴包,Centos將apt-get更改為yum
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module

2、下載并安裝nginx

wget -c http://nginx.org/download/nginx-1.3.13.tar.gz

tar zxvf nginx-1.3.13.tar.gz

cd nginx-1.3.13

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --add-module=/root/ngx_http_substitutions_filter_module

make

make install

CentOS8安裝Nginx詳細講解

3、核心步驟。

新建一個.conf 配置用于反代(可隨意命名,以.conf為后綴即可被nginx執行)

vi /usr/local/nginx/conf/vhost/example.com.conf 
#example.com是你要綁定的域名,當然你也可以用其他名字.conf

加入以下內容:

server{
listen 80;
server_name example.com; #綁定的域名
index index.php; #默認索引首頁
access_log off; #off 關閉日志
location / {
subs_filter 91ce.com example.com; #替換掉域名
subs_filter static/image/common/logo.png http://xxx/1.jpg; #替換掉LOGO
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://91ce.com; #強制定義Referer,程序驗證判斷會用到
proxy_set_header Host 91ce.com; #定義主機頭,如果目標站點綁定的域名個server_name項的吻合則使用$host
proxy_pass 91ce.com; #指定目標,建議使用IP或者nginx自定義池
proxy_set_header Accept-Encoding ""; #清除編碼
}
}

這里很多同學會問亂碼的問題,咱們在編輯conf文件的時候轉成utf-8模式即可

4、重啟Nginx

/etc/init.d/nginx restart

到這里教程就結束了。

分享一位大佬的nginx規則:


server
{
    listen 80;
        listen 443 ssl http2;
    server_name 91ce.com www.648034.tw;
    index index.php index.html index.htm default.php default.htm default.html;
    
    #SSL-START SSL相關配置,請勿刪除或修改下一行帶注釋的404規則
    #error_page 404/404.html;
    ssl_certificate    /www/server/panel/vhost/cert/91ce.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/91ce.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    #添加
    ssl_buffer_size 1400;
    add_header Strict-Transport-Security max-age=15768000;
    ssl_stapling on;
    ssl_stapling_verify on;
    #添加結束
    error_page 497  https://$host$request_uri;

    #SSL-END
    
    #ERROR-PAGE-START  錯誤頁配置,可以注釋、刪除或修改
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以注釋或修改
    include enable-php-00.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重寫規則引用,修改后將導致面板設置的偽靜態規則失效
    include /www/server/panel/vhost/rewrite/91ce.com.conf;
    #REWRITE-END
    
    #禁止訪問的文件或目錄
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一鍵申請SSL證書驗證目錄相關設置
    location ~ \.well-known{
        allow all;
    }
    

    #添加
    if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
if ($host != www.648034.tw) {
    rewrite ^/(.*)$ $scheme://www.648034.tw)/$1 permanent;
    }


location / {
proxy_pass https://127.0.0.1:443;
#proxy_pass https://127.0.0.1:443;

#Proxy Settings
proxy_redirect     off;
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;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout      90;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 64k;
error_page 404 401 402 403 404 500 502 503 504 /502.html;
}
#添加結束
        access_log  /www/wwwlogs/91ce.com.log;
    error_log  /www/wwwlogs/91ce.com.error.log;
}

配置說明:
源服務器:寶塔+NIGNX,反代服務器:寶塔+NIGNX,源服務器和目標服務器都綁定了網站域名,其實裝不裝寶塔都是OK的,設置好證書路徑即可。
寶塔做個301.www.648034.tw 自動跳到91ce.com
配置文件修改:(其中91ce.com是你需要同域名反代的站點域名,127.0.0.1是你的源服務器IP)

入門日記運維DevOps

如何合理利用CDN來防御部分惡意刷量和CC攻擊

2020-6-16 14:59:31

入門日記菜鳥思路運維DevOps

【圖文教學】五分鐘完成配置小眾反代工具Apache Traffic

2020-7-25 11:39:08

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
河南十一选五购买