با سلام خدمت دوستان عزیز
من روی سرور یک پروژه لاراولی دارم که اون رو با nginx کانفیگ کردم و به خوبی کار می کرد. حالا خواستم از طریق certbot و letsEncrypt برای سرور خودم ssl بزارم و اون رو https کنم
ولی هر جوری این تنظیمات nginx رو تغییر می دم به نتیجه نمی رسم. نمی دونم مشکلم از کجاست. راهکارهای مختلفی رو هم در سطح وب امتحان کردم ولی به جواب نرسیدم. من نمونه تنظیمات nginx ام رو اینجا می زارم ممنون میشم راهنمایی کنید که باید چی کار کنم. من از طریق certbot اومدم لایسنس هارو ایجاد کرد.
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/ example.com /fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ example.com/privkey.pem;
root /var/www/example/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
server {
listen 80;
listen [::]:80;
server_name example.com www. example.com;
return 302 https://$server_name$request_uri;
}
@ali.bayat
@milad
@muhammad
@mhyeganeh
@abedim910
@hesammousavi
اون اسپیس هایی که توی ssl_certificate ها دارید میتونه مشکل زا باشه
در ضمن تنظیمات بیشتری هم میتونه داشته باشه
کانفیگ زیر رو امتحان کن
server {
listen 80;
listen [::]:80;
server_name domain.com;
# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
root /var/www/html/project/public;
index index.php index.html index.htm;
server_name domain.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
#ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
سلام
اگر با استفاده از کامند زیر اقدام کنید، کلیه تنظیمات وب سرورها بصورت اتومات توسط خود CertBot اعمال میشن و شما نیازی نیست هیچ کاری انجام بدید.
sudo certbot --nginx
پس به نظرم اول تمامی تنظیمات SSL رو که خودتون اضافه کردید رو حذف کنید و بعد دستور بالا رو وارد کنید و بعد با دقت به سوالاتی که می پرسه پاسخ بدید و پیش برید. در پایان اگر به فایل تنظیمات وب سرورتون مراجعه کنید کدهایی که توسط Certbot اضافه شدند رو میتونید مشاهده کنید و همه چیز هم باید درست کار کنه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟