How We Deployed a Scalable, Secure Website for PDEA Pune Using AWS Elastic Beanstalk
At Strinosoft, we specialize in cloud-native solutions. In this blog, we're excited to share ho…
At Strinosoft, we specialize in cloud-native solutions. In this blog, we're excited to share how we successfully deployed the official website for Pune District Education Association (PDEA) on AWS Elastic Beanstalk, secured it with HTTPS, and configured end-to-end infrastructure using best DevOps practices.
Deploy and host a scalable and secure Spring Boot application with CI/CD automation and SSL setup.
Spring Boot (JAR-based)
Elastic Beanstalk
Application Load Balancer (ALB)
Amazon RDS (MySQL)
ACM (SSL Certificates)
CodeBuild + CodePipeline
Route 53 for DNS
S3 for deployment artifacts
We started with a well-structured Spring Boot application using the following setup:
application.properties
configured to use dynamic environment variables.
server.port=5000
(Elastic Beanstalk default doesn’t apply here, we customized it.)
MySQL DB properties linked using ${DB_HOST}
, ${DB_USERNAME}
, etc.
Created an environment in Elastic Beanstalk with Tomcat (Corretto 17) and changed it to support JAR deployment.
Used a custom Procfile
to launch the JAR:
bash
CopyEdit
web: java -jar pdeapune.jar
Added environment variables like DB_HOST
, AWS_ACCESS_KEY
, AWS_BUCKET
, etc.
We wrote a custom buildspec.yml
:
yaml
CopyEdit
version: 0.2 phases: install: commands: - java -version - mvn -version pre_build: commands: - mvn clean build: commands: - mvn package -DskipTests artifacts: files: - target/pdeapune.jar - Procfile - .ebextensions/**
This enabled seamless JAR packaging and artifact upload to S3.
Created a MySQL DB instance in Amazon RDS
Configured security groups to allow access from Beanstalk instance
Used EB environment variables to pass DB connection securely
Initially, we faced 502 Bad Gateway errors. Here's what fixed it:
Target group was pointing to wrong port (80/443)
We updated it to use port 5000 to match the Spring Boot app
Health checks passed and ALB started routing properly ✅
Requested a free SSL certificate via AWS Certificate Manager
Attached it to the HTTPS (443) listener of the Load Balancer
Configured Route 53 to point www.pdeapune.org
to the ALB
Now the site is securely accessible with HTTPS!
The entire stack is now:
Fully automated via CI/CD
Load balanced and scalable
Secured with HTTPS
Environmentally isolated with best practices
Elastic Beanstalk with JAR deployment needs careful port mapping (don’t forget server.port=5000
)
Load balancer and target group settings can silently break routing if mismatched
ACM makes HTTPS easy, but DNS and listener config must align perfectly
Logs and eb-engine.log
are your best friends when debugging!
This project is a prime example of how Strinosoft delivers cloud-native, secure, and scalable web applications using the power of AWS. If you’re a school, college, or enterprise looking to modernize your IT infrastructure — we’re here to help.
???? Need help deploying your apps to the cloud?
Visit www.strinosoft.com or contact us at info@strinosoft.com