So I’ve written about my course-manager project on here. I know, it’s a terrible name. I guess I’m not great at marketing. I think I might rename it to “CourseMark” which sounds catchier, right? I already have the domain!

Anyway, I digress. This is not an issue with that project per se but rather with my own deployment setup. I’ve been using Digital Ocean Droplets, which is just like Azure VMS or Amazon EC2 instances, they’re cloud virtual machines.

I went with DO because of two things:

  • that’s what my professor at UNCC got us started with, and it’s very easy to get set up.
  • the prices seem hard to beat, based on a little bit of shopping around.

The droplet I’m hosting my app on is also the host for static sites generated by the app.

Anyway, the issue I’ve been having, and it may be related to my host or not, is that my school district’s DNS filter doesn’t like my IP address. I am not sure which DNS filtering service is used by my district, but I looked at Fortiguard and their handy tool can show you the status of any URL. Mine is marked “suspicious”. I applied to get it recategorized but came to learn that actually, this characterization is automated and you can only apply for recategorizing whether it’s Information Technology vs. Education, etc., not whether it’s suspicious or not. Which makes sense.

According to ChatGPT, malware is often deployed using DO because it’s cheap and easy, so this might be part of the reason at least.

I realized the problem a little late because I had been using the guest network, rather than the main network (I use my personal laptop mostly which can’t access the main network).

The browser was displaying a “connection reset” message rather than a block message, so it took me some researching to find out what was happening.

At first I thought it was just because my domain was so new, but now it’s been almost a year, so I don’t think it’s time-based. It sounds like SEO-type things would help get my IP off the suspicious list, but I’m not sure what exactly I can change on my site. It might be that I need to have legitimate sources point to my site, which could be a challenge.

I’m considering switching hosts as well. I think I’ll run a little experiment to see if AWS, Google or Azure IPs are marked suspicious. If not, depending on the price, I might switch.

When I was at Phillip O. Berry I just had my students switch to the guest network so they could access the site. But that solution stopped working soon after I moved to Charlotte Engineering Early College. Just weeks into the school year, the University shut down the CMS Guest Network due to conflicts with their networks. Overnight, my students had no way to get to my course website. I had to access through a VPN and then transfer info to Canvas. It wasn’t super labor intensive, but just like those little dinosaurs that swarmed the hapless man in Jurassic Park, the little things add up to give you big problems. Also, it just wasn’t as pretty or convenient on Canvas as it was in my site (imho).

But as a temporary (and quite hacky) workaround, I have a script to run on my Droplet that pushes the current course’s site to a separate GitHub repo, which has a GitHub pages site set up. I’m hesitant to automate something so hacky but it is a pain having to do this every day, even if it only takes 5 minutes to ssh in and run the script.

I’ve learned something new every day I’ve worked on this project, and though it’s frustrating at times, there’s absolutely no better way to learn than to try and solve real-world problems. Also, it’s fun to build things, even when you fail and it all blows up in your face!