外網(wǎng)訪問nginx代理的(資源寶)內(nèi)網(wǎng)資源

場(chǎng)景:使用Wi-Fi連接的內(nèi)網(wǎng)web 服務(wù)

構(gòu)思&準(zhǔn)備

  • 需要有雙網(wǎng)卡的電腦或服務(wù)器一臺(tái)
  • 連接資源寶發(fā)射的Wi-Fi,并獲取當(dāng)前電腦內(nèi)網(wǎng)IP (192.168.0.144)
  • 已知資源寶Wi-Fi訪問地址為固定的:192.168.88.100
  • 本機(jī)電腦連接資源寶Wi-Fi則可訪問資源寶,用nginx代理則可實(shí)現(xiàn)局域網(wǎng)訪問本地,間接訪問到資源寶web服務(wù)地址

nginx配置

server
    {
        listen 80;
        server_name 192.168.0.144;

        location / {
            proxy_pass http://192.168.88.100/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host:$server_port;
            proxy_cookie_domain 192.168.88.100 192.168.0.144;
            client_max_body_size 10m;
            client_body_buffer_size 128k;
            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;
        }
    }

重啟nginx后發(fā)現(xiàn)該web網(wǎng)站存在回調(diào)判斷。回調(diào)端口為10001,且圖片、視頻資源的端口為9090

修改思路

  • 無法修改源碼,則只能通過ngnix替換

用的的模塊

server
    {
        listen 80;
        server_name 192.168.0.144;

        location / {
            proxy_pass http://192.168.88.100/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host:$server_port;
            proxy_cookie_domain 192.168.88.100 192.168.0.144;
            client_max_body_size 10m;
            client_body_buffer_size 128k;
            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;

            #替換之前 host
            subs_filter '192.168.88.100:9090' '192.168.0.144:9090';
            subs_filter "host + '/dbStatus/'" "'http://192.168.0.144:10001/dbStatus/'";
        }
    }

其他代理配置

server
{
    listen 9090;
    server_name 192.168.0.144;
    location /{
        proxy_pass http://192.168.88.100:9090;
    }
}
server
{
    listen 10001;
    server_name 192.168.0.144;
    location /{
        proxy_pass http://192.168.88.100:10001;
    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容