ارائه دهنده خدمات ابری PaaS و DBaaS

angularjs

برنامه‌های Angular

(Angular Apps)

🎯 توضیحات و نکات تکمیلی

فهرست عناوین:

تنظیمات Nginx

استقرار برنامه‌های Angular توسط وب‌سرورNginxانجام می‌گیرد. در شرایط مختلف، ممکن است که نیاز داشته باشید این وب‌سرور را مطابق با نیازهای‌تان تنظیم کنید. برای این کار، کافیست که در ریشه‌ی برنامه‌ی‌تان، فایلی با نامliara_nginx.confایجاد کنید. به‌صورت پیش‌فرض، برای برنامه‌های Angular این فایل به شکل زیر تعریف شده‌است:

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

که شما می‌توانید آن را به شیوه‌ی خودتان گسترش دهید:

location / {
  # ...
}
location /api {
  # ...
}
location /images {
  # ...
}

تنظیم هدرهای امنیتی HTTP

برای جلوگیری از حملاتی مانند Clickjacking، XSS، SSL Striping می‌توانید هدرهای امنیتی را مانند مثال زیر در تنظیمات Nginx برنامه‌ی خود تنظیم کرده و نحوه‌ی برقراری ارتباط با سایت را برای مرورگرها تعیین کنید:

add_header X-Frame-Options DENY always;
add_header X-Content-Type-Options: nosniff;
add_header X-XSS-Protection "1; mode=block" always;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

location / {
  index index.html index.htm;
  try_files $uri $uri/ /index.html =404;
}
توجه داشته باشید که قبل از فعال‌سازی HSTS با تنظیم هدر Strict-Transport-Security باید SSL را فعال کرده باشید. تهیه‌ی SSL رایگان

فعال‌سازی gzip و Browser Caching

برای کاهش اندازه‌ی صفحات وب، فعال‌سازی فشرده‌ساز gzip و همین‌طور Browser Caching بسیار توصیه می‌شود. برای این‌کار، کافیست که فایلی به‌نامliara_nginx.confدر ریشه‌ی برنامه‌ی‌تان، در کنار package.json، بسازید و بعد دستورliara deployرا وارد کنید.

gzip             on;
gzip_disable     "msie6";
gzip_vary        on;
gzip_proxied     any;
gzip_comp_level  6;
gzip_types       text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;

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

# cache.appcache, your document html and data
location ~* .(?:manifest|appcache|html?|xml|json)$ {
  expires -1;
}

# Media: images, icons, video, audio, HTC
location ~* .(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
  expires 1M;
  access_log off;
  add_header Cache-Control "public";
}

# CSS, Javascript and Fonts
location ~* .(?:css|js|otf|ttf|eot|woff|woff2)$ {
  expires 1y;
  access_log off;
  add_header Cache-Control "public";
}