Setup HTTPS using Let's Encrypt
Let's Encrypt is a free CA providing a simple way for you to secure your Zpider eShop.
Guide for setting up Let's Encrypt with Zpider v11.2 and onwards.
- Download the Let's Encrypt ACME client from https://github.com/PKISharp/win-acme/releases
- Extract it to a place that makes sense (like c:\wacs)
- Ensure that both port 80 and 443 is open from the internet
- Ensure that you've set a custom domain on the site in IIS
- Execute win-acme.exe from wherever you extracted it
- Follow the instructions from win-acme.
- Verify that HTTPS works on your site.
- Update
<UseHttps>false</UseHttps>
to<UseHttps>true</UseHttps>
in eShop.custom.config. - Use IISCrypto from Nartac to disable insecure protocols and ciphers.
Guide for Zpider eShop pre v11.2
- Download the Let's Encrypt ACME client from https://github.com/PKISharp/win-acme/releases
- Extract it to a place that makes sense (like c:\wacs)
- Ensure that both port 80 and 443 is open from the internet
- Ensure that you've set a custom domain on the site in IIS
- Execute win-acme.exe from wherever you extracted it
- Select the site you'd like to add https to
- Update <Urls> in custom.config and add https
- Use IISCrypto from Nartac to disable insecure protocols and ciphers.
- Update <Pages> with the following
<Pages><Page Name="AddMenuentry" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ADDMENUENTRY" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="AddToShoppingList" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ADDTOSHOPPINGLIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Article" UseHttps="true" Enabled="true"><Description>Displays article details</Description><IncludeModules><IncludeModule Module="ARTICLE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ArticleList" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ARTICLELIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ArticleCompare" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ARTICLECOMPARE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="AttestCart" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ATTESTCART" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="AttestList" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ATTESTLIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Banner" UseHttps="true" Enabled="true"><Description>The banner page frame</Description><IncludeModules><IncludeModule Module="BANNER" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="CompanyAbout" UseHttps="true" Enabled="true"><Description>Display info about the company</Description><IncludeModules><IncludeModule Module="CompanyAbout" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="CompanyDeliveryTerms" UseHttps="true" Enabled="true"><Description>Display info about the delivery terms for the company</Description><IncludeModules><IncludeModule Module="CompanyDeliveryTerms" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="CompanyPaymentTerms" UseHttps="true" Enabled="true"><Description>Display info about the payment terms for the company</Description><IncludeModules><IncludeModule Module="CompanyPaymentTerms" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="CompanyProfile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="COMPANYPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="CompanyReturnTerms" UseHttps="true" Enabled="true"><Description>Display info about the return terms for the company</Description><IncludeModules><IncludeModule Module="CompanyReturnTerms" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Contactprofile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="CONTACTPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Documentdetails" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="DOCUMENTDETAILS" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Documentlist" UseHttps="true" Enabled="true"><Description>Searching for and listing documents</Description><IncludeModules><IncludeModule Module="DOCUMENTLIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ErpOrderHistory" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ERPORDERHISTORY" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ErpOrderlist" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ERPORDERLIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ErpOrderstatus" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ERPORDERSTATUS" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="FirstPage_ShowWindow" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="FIRSTPAGESHOWWINDOW" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ForgottenPass" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="FORGOTTENPASS" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ForgottenPassA" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="FORGOTTENPASSA" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Front" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="FRONT" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Grouplistbox" UseHttps="true" Enabled="true"><Description>The Grouplistbox (left tree structured productgroups and menu)</Description><IncludeModules><IncludeModule Module="GROUPLISTBOX" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Help" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="HELP" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Infolist" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="INFOLIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="InfolistBox" UseHttps="true" Enabled="true"><Description>The InfolistBox page frame</Description><IncludeModules><IncludeModule Module="INFOLISTBOX" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Login" UseHttps="true" Enabled="true"><Description>The login page</Description><IncludeModules><IncludeModule Module="Login" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="LoginProfile" UseHttps="true" Enabled="true"><Description>The login profile page</Description><IncludeModules><IncludeModule Module="LoginProfile" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ChainCustomer" UseHttps="true" Enabled="true"><Description>The login for chained customers page</Description><IncludeModules><IncludeModule Module="ChainCustomer" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Logout" UseHttps="true" Enabled="true"><Description>The logout page</Description><IncludeModules><IncludeModule Module="Logout" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Main" UseHttps="true" Enabled="true"><Description>The main page</Description><IncludeModules><IncludeModule Module="MAIN_PROMO" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Main_FirstPage" UseHttps="true" Enabled="true"><Description>The main firstpage frameset</Description><IncludeModules><IncludeModule Module="MAIN_FIRSTPAGE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="NewcontactProfile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="NEWCONTACTPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="NewUser" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="NEWUSER" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="NewUserFront" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="NEWUSERFRONT" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Orderhistory" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ORDERHISTORY" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Orderstatus" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ORDERSTATUS" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Orderstep1" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ORDERSTEP1" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Orderstep1A" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ORDERSTEP1A" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Orderstep1B" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ORDERSTEP1B" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Orderstep2" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ORDERSTEP2" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Orderstep3" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="ORDERSTEP3" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="PurchaseCart" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="PURCHASECART" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="PurchaseList" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="PURCHASELIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Purchaselist_Frontpage" UseHttps="true" Enabled="true"><Description>The purchaselist frontpage frame</Description><IncludeModules><IncludeModule Module="PURCHASELIST_FRONTPAGE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Quickorder" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="QUICKORDER" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="RemoveContactProfile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="REMOVECONTACTPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="SaveAsPurchase" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="SAVEASPURCHASE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="SavePurchase" UseHttps="true" Enabled="true"><Description>Saves the shopping list</Description><IncludeModules><IncludeModule Module="SAVEASPURCHASE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Search" UseHttps="true" Enabled="true"><Description>The search frame within the Shoparea frameset</Description><IncludeModules><IncludeModule Module="SEARCH" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Shoparea" UseHttps="true" Enabled="true"><Description>The shoparea frameset</Description><IncludeModules><IncludeModule Module="SHOPAREA" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ShoppingCart" UseHttps="true" Enabled="true"><Description>The shoppingcart frame on the left side within the Shoparea frameset</Description><IncludeModules><IncludeModule Module="SHOPPINGCART" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ShoppingCartDetails" UseHttps="true" Enabled="true"><Description>The shoppingcart details page. This page is launched when clicking [To Shopping Cart] button</Description><IncludeModules><IncludeModule Module="SHOPPINGCARTDETAILS" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="ShoppingList" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="SHOPPINGLIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="Top" UseHttps="true" Enabled="true"><Description>The top page frame</Description><IncludeModules><IncludeModule Module="TOP" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="UnsafeRequest" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="UNSAFEREQUEST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="UpdateAddToShoppingList" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="UPDATEADDTOSHOPPINGLIST" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="UpdateCompanyProfile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="UPDATECOMPANYPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="UpdateContactProfile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="UPDATECONTACTPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="UpdateNewUser" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="UPDATENEWUSER" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="UpdateUserProfile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="UPDATEUSERPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page><Page Name="UserProfile" UseHttps="true" Enabled="true"><IncludeModules><IncludeModule Module="USERPROFILE" Enabled="true"><Props /></IncludeModule></IncludeModules></Page></Pages>