系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
以下是一个Magento 2的Nginx配置示例,其中包含一些常见的最佳实践:
HTTP serverserver {
listen 80;
server_name example.com; return 301 https://$server_name$request_uri;
}
# HTTPS server
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/certificate.pem;
ssl_certificate_key /path/to/privatekey.pem; # Set secure SSL protocols and ciphers
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384; # Enable HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload;" always; # Set Magento root directory
root /path/to/magento; # Magento specific Nginx configuration
location / {
try_files $uri $uri/ /index.php?$args;
}
location /pub/static/versioned/ {
# Set cache headers
expires 1y;
add_header Cache-Control "public";
# Magento specific Nginx configuration
try_files $uri $uri/ /pub/static.php?$args;
}
location /static/ { # Set cache headers
expires 1y;
add_header Cache-Control "public"; # Magento specific Nginx configuration
try_files $uri $uri/ /static.php?$args;
}
location /media/ {
# Set cache headers
expires 1y;
add_header Cache-Control "public";
# Magento specific Nginx configuration
try_files $uri $uri/ /get.php?$args;
}
location /errors/ { # Disable access to error pages
deny all; return 404;
} # Redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# Serve static content directly
location /static/version {
# Set cache headers
expires 1y;
add_header Cache-Control "public";
# Serve content directly
try_files $uri =404;
}
# Disable access to sensitive files
location /app/ { deny all; }
location /downloader/ { deny all; }
location /lib/ { deny all; }
location /phpserver/ { deny all; }
location /pkginfo/ { deny all; }
location /report/config.xml { deny all; }
location /var/ { deny all; }
}此配置文件包含两个服务器块:一个HTTP服务器块,用于将HTTP请求重定向到HTTPS,以及一个HTTPS服务器块,用于配置Magento 2的Nginx。
HTTPS服务器块中的一些重要配置包括:
SSL证书和私钥文件的路径
选择安全的SSL协议和密码
启用HSTS(HTTP严格传输安全)来提高安全性
Magento的特定位置配置,例如:pub/static/,static/,media/等