{"id":19974612,"url":"https://github.com/elan-ev/simple_nginx_reverse_proxy","last_synced_at":"2026-04-21T05:31:53.031Z","repository":{"id":48387513,"uuid":"388841666","full_name":"elan-ev/simple_nginx_reverse_proxy","owner":"elan-ev","description":"An ansible role to install nginx as a simple reverse proxy.","archived":false,"fork":false,"pushed_at":"2025-09-01T16:05:20.000Z","size":40,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-10-19T19:55:49.728Z","etag":null,"topics":["ansible","ansible-role","nginx","reverse-proxy"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/elan/simple_nginx_reverse_proxy","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elan-ev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2021-07-23T15:13:28.000Z","updated_at":"2025-01-09T20:59:36.000Z","dependencies_parsed_at":"2025-06-06T07:41:40.978Z","dependency_job_id":null,"html_url":"https://github.com/elan-ev/simple_nginx_reverse_proxy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/elan-ev/simple_nginx_reverse_proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fsimple_nginx_reverse_proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fsimple_nginx_reverse_proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fsimple_nginx_reverse_proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fsimple_nginx_reverse_proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elan-ev","download_url":"https://codeload.github.com/elan-ev/simple_nginx_reverse_proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fsimple_nginx_reverse_proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32078760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ansible","ansible-role","nginx","reverse-proxy"],"created_at":"2024-11-13T03:15:33.944Z","updated_at":"2026-04-21T05:31:53.006Z","avatar_url":"https://github.com/elan-ev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible role for a simple nginx reverse proxy installation\n\n![molecule](https://github.com/elan-ev/simple_nginx_reverse_proxy/actions/workflows/molecule.yml/badge.svg)\n\nThis role installs nginx as a simple reverse proxy.\n\n## Role Variables\n\nFor a full overview of configuration options look at the [defaults](defaults/main.yml).\n\n### Proxy Configuration\n\nThis role conmes with a default configuration automatically redirects to HTTPS\nand which allows you to specify a simple block to configure Nginx:\n\n```yaml\nnginx_proxy: |\n  location / {\n    proxy_set_header        Host $host;\n    proxy_set_header        X-Real-IP $remote_addr;\n    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header        X-Forwarded-Proto $scheme;\n    proxy_pass              http://127.0.0.1:8080;\n  }\n```\n\n### TLS Certificates\n\nThe default configuration provides simple, self-signed certificates if none exist.\nPlease make sure to replace them with your own certificates.\nSimply overwrite the following files:\n\n- `/etc/nginx/tls/certificate.key;`\n- `/etc/nginx/tls/certificate.crt;`\n\n### Advanced Configuration\n\nYou can set the `nginx_config` option to overwrite the default configuration\nand specify your own set of configuration files.\nSet a list of `src` and `dest` fields specifying templates to deploy.\nThe field `dest` always specifies a location relative to `/etc/nginx/`:\n\n```\nroles:\n  - role: elan.simple_nginx_reverse_proxy\n    nginx_config:\n      - src: nginx.conf\n        dest: nginx.conf\n```\n\nBe aware that the role includes an [`nginx.conf` template](templates/nginx.conf).\nSpecifying `src: nginx.conf` will **always** use the included template.\n\n\n### Security Related Configuration\n\nThis role can open ports for Nginx in firewalld or ufw.\nIt can also set the SELinux boolean to allow Nginx to act as a reverse proxy.\nThese settings are disabled by default and you have to explicitely enable them:\n\n- `configure_for_firewalld: true`\n- `configure_for_ufw: true`\n- `configure_for_selinux: true`\n\n\n## Example Playbook\n\nYour playbook might look like this:\n\n```yaml\n---\n\n- hosts: all\n  become: true\n  roles:\n    - role: elan.simple_nginx_reverse_proxy\n      configure_for_firewalld: true\n```\n\n\n## Development\n\nFor development and testing you can use [molecule](https://molecule.readthedocs.io/en/latest/).\nWith podman as driver you can install it like this – preferably in a virtual environment:\n\n```bash\npip install -r .dev_requirements.txt\n```\n\nThen you can *create* the test instances, apply the ansible config (*converge*) and *destroy* the test instances with these commands:\n\n```bash\nmolecule create\nmolecule converge\nmolecule destroy\n```\n\n## License\n\n[BSD-3-Clause](LICENSE)\n\n## Author Information\n\n[ELAN e.V](https://elan-ev.de/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felan-ev%2Fsimple_nginx_reverse_proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felan-ev%2Fsimple_nginx_reverse_proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felan-ev%2Fsimple_nginx_reverse_proxy/lists"}