Securing an ASP.NET Core App on Ubuntu Using Nginx and Docker (Part I)

Typically, when you develop with ASP.NET you have the luxury of IIS Express taking care of SSL and hosting, however IIS and IIS Express are exclusive to the Windows platform. ASP.NET Core 1.0 has decoupled the web server from the environment that hosts the application. This is great news for cross-platform developers since web servers other than IIS such as Apache and Nginx may be set up on Linux and Mac machines. Securing ASP.NET Core App on Ubuntu Using Nginx and Docker Part 1.png

This tutorial involves using Nginx as the web server to host a dockerized .NET Core web application with SSL Termination on a Ubuntu machine. In this three-part tutorial, I’ll guide you in:

Part I (This post)  1. Creating and publishing an ASP.NET Core web app using the new dotnet CLI tools and 2. Installing and configuring PuTTY so we may SSH and transfer files with our Ubuntu machine

Part II – Setting up Docker and creating a Docker Image on Ubuntu 16.04

Part III – 1. Configuring Nginx for SSL termination and 2. Building and Running the Docker Image.

Continue reading “Securing an ASP.NET Core App on Ubuntu Using Nginx and Docker (Part I)”

AWS S3 Bucket Name Validation Regex

Amazon Web Services enforces a strict naming convention for buckets used for storing files. Amazon’s requirements for bucket names include: aws s3 bucket name validation regex by Scott Lanoue at Easy Dynamics Technical Blog

  • A Bucket’s name can be between 6 and 63 characters long, containing lowercase characters, numbers, periods, and dashes
  • Each label must start with a lowercase letter or number
  • Bucket names cannot contain underscores, end with a dash, have consecutive periods, or use dashes adjacent to periods
  • Lastly, the bucket name cannot be formatted as an IPV4 address (e.g. 255.255.255.255)

Continue reading “AWS S3 Bucket Name Validation Regex”

Rapid Development Using Online IDEs

One of the most important processes in software development is the Rapid Application Development (RAD) model. The RAD model promotes adaptability – it emphasizes that requirements should be able to change as more knowledge is gained during the project lifecycle. Not only does it offer a viable alternative to the conventional waterfall model, but it has also spawned the development of the Agile methodology, which you can learn more about here.Rapid_Development_Using_Online_IDEs_By_Will_Shah Technical Blog post by Easy Dynamics

A core concept of the RAD model is that programmers should quickly develop prototypes while communicating with users and teammates. However, historically, this has been hard to do – when starting a project, you often need to decide which languages, libraries, APIs, and editors to use before you can begin. This takes the “rapid” out of rapid application development, and this was always a problem until online integrated development environments (IDEs) started popping up.  Continue reading “Rapid Development Using Online IDEs”

Section 508 Coding Practices

So you’ve read our previous blog onSection_508_Coding_Practices_Kishore_Jogia Easy Dynamics Technical Blog Section 508 Standards are and how to test for them and next thought “Gosh, that’s nice, but how do I make a page 508 Compliant?” Or you stumbled upon this blog from a quick search. Either way, if you’re looking for quick and easy tips on how to make your site more 508 Compliant, you’re in the right place! We’ll cover a few common 508 Standards and give basic html examples on how to meet compliancy.

Continue reading “Section 508 Coding Practices”

Sandbox Solutions vs. Farm Solutions

So you want to build a sand castle, but you’re using Sandbox Solutions. Next, the question may come up about Farm solutions. You may ask yourself, “What are the differences?” In this blog post, I’ll cover the differences and advantages of Sandbox Solutions vs. Farm Solutions. The goal of this post is to not only introduce you to idea of SandBox Solutions and Farm Solutions but also address the issues associated with each. 

Continue reading “Sandbox Solutions vs. Farm Solutions”

Bootstrapping Windows Servers with AWS EC2

When working with Amazon Web Services (AWS) EC2 instances, bootstrapping refers to using scripts provided at launch to configure new EC2 instances (servers). Concerning Windows servers, there are several considerations when determining the best method of bootstrapping. Bootstrap scripts can be applied directly from the management console, but we will be looking at a programmatic method of using bootstrapping scripts through the AWS CLI. There are many alternative choices. Many can be quite elaborate. This approach is one with very few dependencies. This scope of this blog covers creating a batch file that will run at the command prompt using the AWS CLI interface. Continue reading “Bootstrapping Windows Servers with AWS EC2”

Best Practices for AWS EC2

best practices for AWS EC2 blog post by mike carlino, aws infrastructure engineer at Easy DynamicsThere are several things to consider before clicking that “Launch” button in the AWS (Amazon Web Services) console. The more you plan and take into consideration ahead of time, the more you can save yourself a few headaches down the road. I will go over some fundamental best practices to consider before launching your EC2 instance. These topics will cover storage, security, backup/recovery, and finally management. Continue reading “Best Practices for AWS EC2”

Using Event Receivers for SharePoint Workflows

One of the more interesting challenges contractors for public sector clients have is working with older versions of software. On a recent project involving an integration of a solution I’d written using Microsoft Dynamics CRM 2016 and SharePoint 2010, I found myself struggling with an issue around capturing a digital signature.  

leverage SharePoint's out-of-the-box OOTB workflow for collecting signatures in SharePoint WorkFlowEventReceiver blog post by Joe DavisAs a straight SharePoint development project, this can be fairly routine: leverage Microsoft Word and its implementation of signature blocks, similarly leverage SharePoint’s out-of-the-box (OOTB) workflow for collecting signatures, and you’re basically done.

However, the client in question was less than enthusiastic about SharePoint as a platform in general and, because of that, and a few other design criteria, the bulk of the solution wound up being built in Dynamics CRM and SharePoint was largely a simple document repository.  

So, how do you not re-invent the wheel for digital signatures and still keep most of your smarts on the Dynamics CRM side? [Bear in mind the production environment where this was going to be enabled was very locked down. Farm solutions were prohibited, so even if you wanted to write your own custom workflow using .NET workflow, you couldn’t because that requires a farm solution.]

We have the OOTB workflow already and we can associate it with the document library in question, but what we really needed was the ability to notify CRM when that workflow completed. Answer: SPWorkflowEventReceiver.

Continue reading “Using Event Receivers for SharePoint Workflows”

File Placement in Custom SharePoint Site

So you want to customize yourMarshall_blog_post_Indiana_Jones.jpg SharePoint site with custom CSS and JavaScript, like Bootstrap or Angular, but you don’t know where to put the files? You’re in the right place for the answers you seek. There are three places you can put your files: the Master Page Gallery, the Site Assets folder, or the Style Library. The place you choose should be dependent on your project. This is the way I organize my files, as there is no set definition of where you place them. Continue reading “File Placement in Custom SharePoint Site”