Before Github supported SSL encryption for github pages sites, many people were using CloudFlare (CF) as their DNS provider and CDN proxy. CF allowed users to enable SSL encryption from the CDN end points/proxies to the end user. This was great and it allowed visitors to your website to connect with a secure connection between their browser and the cloudflare CDN box that was serving your content. However, with this setup one (significant) link in the chain remained unencrypted and
| # Here NODE_OPTIONS is the environment variable. | |
| # Set the NODE_OPTIONS in case of webpacker "CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory" | |
| set :stage, :staging | |
| set :user, "ubuntu" | |
| set :default_env, { | |
| "NODE_OPTIONS"=>"--max_old_space_size=2048" | |
| } |
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
All code is available in example app - https://github.com/maxivak/webpacker-rails-example-app
June 2011 - Chris O'Hara - (archived original post)
Rate limiting can be an effective way of conserving resources and preventing automated or nefarious activities on your site.
A common use case is to limit the amount of requests an IP can make over a certain time frame. For example, you might want to restrict users from using an expensive search utility on your site. If the user attempts to search more than 5 times a minute, you can redirect them to another page informing them that they need to wait.
IP based rate limiting is already in use on larger sites. Google and Yahoo both employ the technique to prevent (or at least complicate) automated requests to their services.
- I advice you to buy SSL Certs from officially Comodo only , or some SSL reseller whose you trust.
These are the steps I went through to set up an SSL cert. Purchase the cert
Prior to purchasing a cert, you need to generate a private key, and a CSR file (Certificate Signing Request). You’ll be asked for the content of the CSR file when ordering the certificate:
openssl req -new -newkey rsa:2048 -nodes -keyout example_com.key -out example_com.csr
| require 'cgi' | |
| require 'json' | |
| require 'active_support' | |
| def verify_and_decrypt_session_cookie(cookie, secret_key_base) | |
| cookie = CGI::unescape(cookie) | |
| salt = 'encrypted cookie' | |
| signed_salt = 'signed encrypted cookie' | |
| key_generator = ActiveSupport::KeyGenerator.new(secret_key_base, iterations: 1000) | |
| secret = key_generator.generate_key(salt)[0, ActiveSupport::MessageEncryptor.key_len] |
These are the scripts that I used to migrate from RSpec to Minitest in a Rails aplication.
It is expected for the test suite to be in RSpec 3.x sintax.
- Install
renamelibrary from Homebrew - Remove RSpec/TestUnit from Gemfile
- Add
minitest-railsgem - Rename
specforder totest - Add a
test_helper.rbfile
Install MySQL 5.6 in Ubuntu 16.04
Ubuntu 16.04 only provides packages for MySQL 5.7 which has a range of backwards compatibility issues with code written against older MySQL versions.
Oracle maintains a list of official APT repositories for MySQL 5.6, but those repositories do not yet support Ubuntu 16.04. However, the 15.10 repos will work for 16.04.
Uninstall existing mysql 5.7 if any
sudo apt remove mysql-client mysql-server libmysqlclient-dev mysql-common