簡體   English   中英

Nginx安全提供靜態文件

[英]Nginx secure serve static file

我在一個MEAN堆棧應用程序中進行了構建,我發現這是讓Nginx提供靜態文件(當前,我的節點提供靜態文件)並使用反向代理的最佳實踐。 所以我能夠在Nginx上提供靜態文件和反向代理,我的問題是,有沒有辦法保護對靜態文件的訪問?

這是我的Nginx代碼

server {
    listen 80;


    location /static {
    alias /var/www/project/public;
    autoindex off;
} 

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

在公共文件夾下,我有style.css,所以當我進入url localhost/static/style.css ,我可以看到我的代碼,因此我可以說我將我的網站部署到了公眾那里並擁有它的域名,用戶只需訪問www.domainname.com/static/style.css即可訪問我的靜態文件,這正常嗎? 還是有一種方法可以限制對NodeJS服務器的訪問? 是唯一可以訪問靜態文件的東西? 或即時通訊搞錯了。

謝謝! 對不起,我是這個Web開發領域的新手,但我正在學習。

您可以通過在位置定義中添加以下內容來使用nginx限制訪問:

#This would be the IP of the server you want to have access to your protected file
allow 123.123.123.123/32;
deny all;

但是在這種情況下,您不想限制對靜態文件的訪問。 加載網頁的用戶需要訪問css文件才能正確顯示它。 如果要查看加載網頁時的網絡流量,您會看到瀏覽器下載了正常運行所需的所有客戶端CSS,JS和HTML文件。 因此人們只看靜態托管的CSS文件是完全正常的。 通常,后端NodeJS服務器不使用CSS文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM