[英]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.