Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
38faf46
commit ee6fb1a
Showing
18 changed files
with
282 additions
and
162 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
- bucket: !!binary | | ||
Z0FBQUFBQmFUTGJHdGstMWlIaTdfNGZGdlhhSzdyRUJUdWRicmtnRU40RVVIMlVWZ0l2aXhFdUxo | ||
X2M4cldjS0pyaHFVMFRSRTFHbzZTdGpqSTlmdGZCZWZoWE5QaktVXzROMmR4VDVHUEExeF9hSG5f | ||
RWZiZTQ9 | ||
date: '2018-01-03T10:55:42.854Z' | ||
email: 27b6f3ebc1535b4b11b1508ec7c7364c | ||
message: من یه دامنه و هاست دارم که به هم متصل بودن، تصورم این بود که میشه مثل CloudFlare | ||
این Netlify رو بین این دو قرار بدم، وارد Netlify شدم و دامنم رو به DNS Zone اضافه | ||
کردم، چهار تا NameServer داد که دامنم روی اونا تنظیم کردم، بعد تو Netlify اومدم | ||
توی قسمت DNS Records دو تا NameServer هاستم رو در قالب NS وارد کردم، الان بعد | ||
یه روز دامنم به هاست متصل نمیشه. نمیدونم ایراد کارم کجاست؟ | ||
name: روح اله | ||
page_date: 2017-12-16 00:00:00 +0100 | ||
page_id: /netlify | ||
page_title: فعالسازی HTTPS به کمک Netlify | ||
page_uuid: df8977bd-9a2f-4ef7-9e9f-49459afefb71 | ||
website: '' | ||
- bucket: !!binary | | ||
Z0FBQUFBQmFUUGxhcjd1bVNURlg1bUZaeFVZSnp5MWI0VXV3aWFaWUY1bERDNDFSTXlKVjJYa0hZ | ||
ZnpXTjNzS0pOcU0yMlFUd05pYUVhMnk0czBEUU1FWmpZUlpiNFhOekhJcFdtaUQxNjZFeFQzQTlp | ||
ZzU3S3M9 | ||
date: '2018-01-03T15:39:47.386Z' | ||
email: 0371f5b900b484368f9e1717d7d965b1 | ||
message: "> تصورم این بود که میشه مثل CloudFlare این Netlify رو بین این دو قرار\ | ||
\ بدم\r\n\r\nنتلیفای سایت دیگهای رو نمیتونه سرو کنه. همه چیز باید رو خودش باشه.\ | ||
\ مناسب سایتهای استاتیکه.\r\n\r\n> بعد تو Netlify اومدم توی قسمت DNS Records دو\ | ||
\ تا NameServer هاستم رو در قالب NS وارد کردم\r\n\r\nاین قسمت فقط به درد تعریف\ | ||
\ رکوردهای جدید میخوره. مثلا تعریف زیر دامنه برای ایمیل. نمیتونی هاستت خودت\ | ||
\ رو اینجا وارد کنی.\r\n\r\nکلا نمیتونی از نتلیفای برای اضافه کردن https به سرور\ | ||
\ یا هاست شخصی خودت استفاده کنی مگر اینکه استاتیک باشه و کاملا از روی نتلیفای\ | ||
\ سرو بشه. مطلب رو اصلاح میکنم که باعث سردرگمی نشه." | ||
name: مهدی صادقی | ||
page_date: 2017-12-16 00:00:00 +0100 | ||
page_id: /netlify | ||
page_title: فعالسازی HTTPS به کمک Netlify | ||
page_uuid: df8977bd-9a2f-4ef7-9e9f-49459afefb71 | ||
website: https://mehdix.ir |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
<div id="license"><small> | ||
<a id="license-link" rel="license" href="http://creativecommons.org/licenses/by/4.0/deed.fa"><img alt="مجوز کریتیو کامنز" style="border-width:0" src="{{'assets/img/creativecommons80x15.png' | absolute_url}}" /></a> | ||
<small id="license"> | ||
<i class="fab fa-creative-commons"></i> | ||
مطالب این وبلاگ تحت مجوز | ||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/deed.fa"> | ||
کریتیو کامنز اتریبیوشن ۴.۰ اینترنشنال </a>قرار دارد. | ||
</small></div> | ||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/deed.fa"> | ||
کریتیو کامنز اتریبیوشن ۴.۰ اینترنشنال | ||
</a>قرار دارد. | ||
</small> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,40 @@ | ||
--- | ||
layout: default | ||
--- | ||
<h1 class="post-list-header">مقالات</h1> | ||
<ul class="post-list"> | ||
{% for post in paginator.posts %} | ||
<li class="post-list-item"> | ||
<span class="meta date">{{ post.date | jdate: "%A %d %b %Y" | habify }}</span> | ||
<!--span class="meta date">{{ post.date | jdate: "%A %d %b %Y" | habify }}</span--> | ||
<h2><a href="{{ post.url | absolute_url }}">{{ post.title }}</a></h2> | ||
{{ post.content | strip_html | truncatewords: 35 }} | ||
</li> | ||
{% endfor %} | ||
</ul> | ||
|
||
<nav class="pagination"> | ||
{% if paginator.previous_page %} | ||
<a href="{{ paginator.previous_page_path | absolute_url }}" class="pagination--pager" title="{{ page.previous.title }}">قبلی </a> | ||
{% else %} | ||
<a href="#" class="pagination--pager disabled"">قبلی </a> | ||
{% endif %} | ||
|
||
{% if paginator.next_page %} | ||
<a href="{{ paginator.next_page_path | absolute_url }}" class="pagination--pager" title="{{ page.next.title }}">بعدی</a> | ||
{% else %} | ||
<a href="#" class="pagination--pager disabled"">بعدی</a> | ||
{% endif %} | ||
</nav> | ||
{% if paginator.total_pages > 1 %} | ||
|
||
<nav class="a-pagination"> | ||
{% if paginator.previous_page %} | ||
|
||
<a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}"><i class="fas fa-forward"></i></a> | ||
{% endif %} | ||
|
||
{% for page in (1..paginator.total_pages) %} | ||
{% if page == paginator.page %} | ||
<span class="is-active">{{ page | habify}}</span> | ||
{% elsif page == 1 %} | ||
<a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">{{ page | habify }}</a> | ||
{% else %} | ||
<a href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}">{{ page | habify }}</a> | ||
{% endif %} | ||
{% endfor %} | ||
|
||
{% if paginator.next_page %} | ||
<a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}"><i class="fas fa-backward"></i></a> | ||
{% endif %} | ||
</nav> | ||
|
||
{% endif %} | ||
|
||
</ul> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
title: فعالسازی HTTPS به کمک Netlify | ||
layout: post | ||
uuid: df8977bd-9a2f-4ef7-9e9f-49459afefb71 | ||
category: راهنما | ||
tags: امنیت https cdn ssl | ||
--- | ||
|
||
از امروز این وبسایت علاوه بر HTTP از طریق [HTTPS][تیتیپیاس] هم در دسترس است. در این مطلب شرح میدهم چطور اینکار را انجام دادم. | ||
|
||
قبل از اینکه شیرجه بزنیم داخل راهنما، یک توضیح کوچک راجع به HTTPS بدهم. هر سایت میتواند به صورت HTTP یا HTTPS سرو شود. وقتی اطلاعات با HTTP سرو میشود هر کامپیوتری بین کامپیوتر یا موبایل ما و سایت مقصد هم لینک را میبیند و هم محتوا را، شامل عکس، رمز، متن و مانند اینها. از اینها گذشته میتواند آنرا تغییر بدهد، مثل کاری که چند وقت پیش ایرانسل انجام میداد و در صفحاتی که با HTTP سرو میشدند تبلیغات نمایش میداد. اما اگر وبسایتی با HTTPS سرو بشود محتوا بین کامپیوتر ما و سرور مقصد رمز میشود و قابل فهم نیست. امکان تغییر اطلاعات هم نیست چون مرورگر خطا میدهد. البته مهم است که از مرورگر سالم و دستنخورده استفاده کنیم، چرا که مرورگر لیست گواهینامههایی که میتواند به آنها اعتماد کند در دل خودش دارد. تنها چیزی که کامپیوترهای بین راه در این حالت میبینند نام دامنه است. آنها حتی رشتهای که بعد از نامه دامنه میآیند را نخواهند دید. مثلا با مراجعه به [https://mehdix.ir/bookmarker.html][بوکمارکر] سرورهای بین راه فقط https://mehdix.ir را میبینند و باقی غیرقابل فهم است. قبلا در مورد [گواهینامه][گواهینامه] نوشتهام. | ||
|
||
وبسایت من استاتیک است یعنی سروری از خودش ندارد و از Github سرو میشود. گیتهاب برای دامینهای شخصی فعالسازی HTTPS را پشتیبانی نمیکند. برای اینکه بدون استفاده از سرور مجزا بتوان HTTPS را فعال کرد تنها یک راه وجود دارد، باید از یک CDN استفاده کرد. CDN اختصار Content Delivery Network است. با بکارگیری CDN وبسایت از طریق شبکه بزرگی از سرورهایی که در قارههای مختلف پراکندهاند سرو میشود. معمولا برای سرو کردن عکسها و فایلهای استاتیک از این تکنیک استفاده میشود، هدف اصلی هم کاهش ترافیک سرور اصلی و افزایش سرعت دسترسی به وبسایت است. | ||
|
||
از جایی که CDN مثل یک پراکسی عمل میکند ما میتوانیم به کمک آن HTTPS را برای وبسایتمان فعال کنیم. معروفترین CDNای که اینکار را انجام میدهد CloudFlare است ولی متاسفانه به دامینهای `.ir` خدمات نمیدهد. شرکت دیگری که خدمات مشابه و بسیار برنامهنویسپسند! ارائه میدهد نامش [Netlify][نتلیفای] است که یک استارتاپ تازهتاسیس در سانفرانسیسکوست. من با کمک این سرویس HTTPS را برای وبسایتم فعال کردم. | ||
|
||
چیزی که باعث حیرت من شد کیفیت بسیار بالا و راحتی بسیار زیاد کار با Netlify بود. از طرفی برای دامینهای ایران هم محدودیت ندارد. (ولی شاید در آینده با گسترش شرکت به فکر محدود کردن بیفتند) به طور خلاصه خدمات زیر را در پلن رایگانشان ارائه میکنند: | ||
|
||
1. بیلد و دیپلوی کردن ریپازیتوری از روی گیتهاب | ||
2. مدیریت دامنه جداگانه برای هر مخزن نرمافزاری (میشود یک وبسایت به هر مخزن منسوب کرد.) | ||
3. فعالسازی HTTPS از طریق صدور گواهینامه Let's Encrypt | ||
4. افزایش سرعت لود با استفاده از CDN این شرکت | ||
5. بهینهسازی و فشردهسازی فایلهای وبسایت | ||
6. مدیریت فرمهای HTML و ارسال محتوا از طریق WebHook | ||
7. امکان انجام Split Testing روی ترافیک (گروهی از کاربران دیزاین دیگری میبینند) | ||
8. امکان افزودن مدیریت کاربران به سایتهای استاتیک | ||
|
||
و البته خیلی امکانات دیگر که در وبسایتشان توضیح دادهاند. | ||
|
||
مراحل فعالسازی هم بسیار ساده بود. من ابتدا یک اکانت ساختم و بعد به شکل اتوماتیک مخزن گیتهابی که محتوای سایتم روی آن است را انتخاب کردم. از جایی که خودشان بیلد جکیل را ساپورت میکردند نیازی به افزودن فایل کانفیگ مجزا هم نبود. فقط از جایی که بیلد صحیح سایت من به نسخه جدیدتری از روبی نسبت به نسخه دیفالت بیلدسرور آنها نیاز داشت یک فایل `.ruby-version` به مخزن اضافه کردم. از سوی دیگر آدرسهای سرور دامنهای که اختصارا برای هر مخزن تولید میشود را در وبسایت ایرنیک وارد کردم تا دامنه mehdix.ir توسط Netlify هدایت بشود. | ||
|
||
در مجموع خیلی راضی هستم و در پروژههای بیشتری از Netlify استفاده خواهم کرد. | ||
|
||
|
||
[نتلیفای]: http://netlify.com/ | ||
[تیتیپیاس]: https://mehdix.ir | ||
[بوکمارکر]: /bookmarker.html | ||
[گواهینامه]: /free-https-for-all.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.