{"id":25150278,"url":"https://github.com/dncrypter/reverse-proxy-server-setup","last_synced_at":"2026-04-28T20:06:04.324Z","repository":{"id":275336002,"uuid":"925702438","full_name":"DNcrypter/Reverse-Proxy-Server-setup","owner":"DNcrypter","description":"In this project, I have setup 2 apache web servers that are integrated with nginx reverse proxy server. Restrict user to see original IP and to prevent from external attacks.","archived":false,"fork":false,"pushed_at":"2025-02-16T10:56:52.000Z","size":607,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T11:28:22.681Z","etag":null,"topics":["apache2","linux","nginx-proxy","server-configuration","shell-script"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DNcrypter.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-01T14:36:23.000Z","updated_at":"2025-02-16T10:56:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"cc7e0d37-d529-477a-8785-d94effba32f0","html_url":"https://github.com/DNcrypter/Reverse-Proxy-Server-setup","commit_stats":null,"previous_names":["dncrypter/reverse-proxy-server-setup"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DNcrypter%2FReverse-Proxy-Server-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DNcrypter%2FReverse-Proxy-Server-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DNcrypter%2FReverse-Proxy-Server-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DNcrypter%2FReverse-Proxy-Server-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DNcrypter","download_url":"https://codeload.github.com/DNcrypter/Reverse-Proxy-Server-setup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246970341,"owners_count":20862508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache2","linux","nginx-proxy","server-configuration","shell-script"],"created_at":"2025-02-08T22:18:13.896Z","updated_at":"2026-04-28T20:06:04.297Z","avatar_url":"https://github.com/DNcrypter.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## 🍁Nginx Reverse proxy server setup\n\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\n        [![LinkedIn](https://img.shields.io/badge/LinkedIn-Profile-blue)](https://www.linkedin.com/in/nikhil--chaudhari/)\n        [![Medium](https://img.shields.io/badge/Medium-Writeups-black)](https://medium.com/@nikhil-c)\n\n\n## 🍁Introduction \nIn this project, I have setup 2 apache web servers that are integrated with nginx reverse proxy server. Restrict user to see original IP and to prevent from external attacks.\n\n![](https://github.com/DNcrypter/Reverse-Proxy-Server-setup/blob/main/images/img2.png)\n## 🍁 Nginx web server setup :\nAs Nginx is available in Ubuntu’s default repositories, it is possible to install it from these repositories using the **apt** packaging system:\n### Step 1 - Installing Nginx\n```\nsudo apt update\nsudo apt install nginx\n```\n### Step 2 - Adjusting the Firewall\nenable required profile by typing and also verify the changes:\n```\nsudo ufw allow 'Nginx HTTP'\nsudo ufw status\n```\nThe output will indicated which HTTP traffic is allowed:\n\n### Step 3 - Checking your Web Server\n```\nsystemctl status nginx\n\nhttp://your_server_ip:8080\n```\n![](https://github.com/DNcrypter/Reverse-Proxy-Server-setup/blob/main/images/img4.png)\nNow you have successfully setup nginx server.  \n### Refer Nginx web server setup my medium post\n[www.medium.com/how-to-setup-nginx-web-server](https://medium.com/@nikhil-c/how-to-setup-nginx-web-server-on-ubuntu-v20-39ec20c0dbc3)\n\n\n## 🍁 Apache Web server setup\nAs I have already setup 2 apache web servers required to link nginx reverse proxy with it in my medium blog :\n[www.medium.com/how-to-install-the-apache-web-server](https://medium.com/@nikhil-c/how-to-install-the-apache-web-server-with-proxy-setup-on-ubuntu-v20-8a2cf4a0891f)\n\n## 🍁 Nginx Reverse proxy server Configuration\nAs we setup already setup 2 apache2 web server and 1 nginx server which act as reverse proxy after we configure it. So lets configure:\n\n#### Check all three required service status :\n```\nsystemctl status httpd.service\nsystemctl status nginx.service\nsystemctl status firewalld.service\n```\n\n#### check normal working :\n* check apache server : http://my-ip:80/index.html\n* check nginx server : http://my-ip:8080/\n![](https://github.com/DNcrypter/Reverse-Proxy-Server-setup/blob/main/images/img3.png)\n![](https://github.com/DNcrypter/Reverse-Proxy-Server-setup/blob/main/images/img4.png)\nYes, both are working.\n\n#### edit config file :\n/etc/nginx/nginx.conf\n```\nlocation / {\n        proxy_pass http://my-ip:8080/;\n}\n```\n#### To Restrict public access of secret.html file\n```\nlocation /secret.html {\n        deny all;\n        return \"403 Forbidden\";\n    }\n```\n* Test the configuration for syntax errors.\n* If the test is successful, reload Nginx to apply the changes:\n```\nsudo nginx -t\nsudo systemctl reload nginx\n```\n\n* After setup whole configuration just start and stop the service to reload all changes :\n```\nsystemctl stop nginx.service\nsystemctl start nginx.service\n```\n\n#### Final working check \n* Browser nginx server : http://my-ip:8080/\n\n![](https://github.com/DNcrypter/Reverse-Proxy-Server-setup/blob/main/images/img4.png)\n\n* It reflects with apache server default page. It means, we successfully setup reverse proxy.\n\n## 🍁 Conclusion \nAt starting, we setup nginx server then apache server after that we configured reverse proxy setting and firewall setting to allow proxy traffic. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdncrypter%2Freverse-proxy-server-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdncrypter%2Freverse-proxy-server-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdncrypter%2Freverse-proxy-server-setup/lists"}