Ravindra Bagale · Cyber Securityसर्व coursesया course चे lessonsशोधाEnglish

Cyber Security · मराठी आवृत्ती

Amazon Linux 2023 वर Nginx मधून site host करा

रवींद्र बागले यांच्या course वर आधारित · सहज मराठीत explanation

या page मध्ये

मागच्या lesson मधल्या /var/www/mysite files तयार आहेत असं गृहीत धरतो. Nginx install/start करून स्वतंत्र site config करू.

sudo yum install -y nginx
sudo service nginx start
sudo systemctl enable nginx

sudo tee /etc/nginx/conf.d/mysite.conf > /dev/null <<'EOF'
server {
    listen 80;
    listen [::]:80;
    server_name YOUR_SERVER_NAME;
    root /var/www/mysite;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;

    access_log /var/log/nginx/mysite_access.log;
    error_log  /var/log/nginx/mysite_error.log;
}
EOF

# put this server's public IP (or your domain) as server_name
sudo sed -i "s/YOUR_SERVER_NAME/$(curl -s https://checkip.amazonaws.com)/" /etc/nginx/conf.d/mysite.conf
sudo nginx -t && sudo service nginx reload
curl -s http://localhost -H "Host: $(curl -s https://checkip.amazonaws.com)" | head -5

YOUR_SERVER_NAME placeholder public IP किंवा तुमच्या domain ने भरायचा आहे. Source मधली sed command checkip service ला दिसणारा outbound public IP वापरते. NAT/proxy/वेगळ्या public endpoint मागे server असेल तर तो योग्य site address असेलच असं नाही—actual browser hostname/IP तपासून config द्या.

Config test नंतर reload होतो. Local curl मध्ये योग्य Host दिल्याने याच server block चा response तपासता येतो. Browser मध्ये http://<PUBLIC_IP> उघडा.

server_name महत्त्वाचं का?

Package चा default block /usr/share/nginx/html serve करत असू शकतो. आपल्या block मध्ये browser चा exact Host दिल्यास योग्य site निवडली जाते. Elastic IP किंवा domain बदलल्यावर server_name update करून test/reload करा. Simple default-root lab मध्ये files थेट /usr/share/nginx/html मध्ये ठेवण्याचाही पर्याय आहे; आधी existing content backup करा.

Lab

Amazon Linux Nginx वर mysite host करा. नसलेली URL मागवा आणि custom 404 page सोबत HTTP status 404 येतो का तपासा.