{"id":9359,"date":"2024-11-12T11:05:59","date_gmt":"2024-11-12T10:05:59","guid":{"rendered":"https:\/\/hansesecure.de\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/"},"modified":"2025-01-07T08:02:05","modified_gmt":"2025-01-07T07:02:05","slug":"mastering-security-how-do-i-set-up-an-nginx-reverse-proxy","status":"publish","type":"post","link":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/","title":{"rendered":"Mastering Security: How do I set up an Nginx reverse proxy?"},"content":{"rendered":"\n<figure class=\"wp-block-image alignleft size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920-1024x574.jpg\" alt=\"\" class=\"wp-image-9142\" srcset=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920-1024x574.jpg 1024w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920-300x168.jpg 300w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920-768x430.jpg 768w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920-1536x861.jpg 1536w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/pixabay.com\/de\/users\/cliff1126-2330376\/\">https:\/\/pixabay.com\/de\/users\/cliff1126-2330376\/<\/a> <\/figcaption><\/figure>\n\n<p>As already explained in our <a href=\"https:\/\/hansesecure.de\/en\/2024\/02\/proxies-the-invisible-helpers-of-internet-traffic\/\">article on proxies<\/a>, there are many reasons for using a reverse proxy. But how do I set up such a reverse proxy? This blog post shows how to set up an Nginx reverse proxy, using an Apache web server on its own domain as an example. These instructions apply to a Linux server with an Ubuntu operating system.   <\/p>\n\n<h2 class=\"wp-block-heading\">Docker<\/h2>\n\n<p>Since both the Nginx reverse proxy and the Apache web server are to run via Docker, the program must be installed at the beginning. To do this, these commands must be executed: <\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<pre class=\"wp-block-code\"><code>sudo apt-get update\nsudo apt-get install ca-certificates curl\nsudo install -m 0755 -d \/etc\/apt\/keyrings\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o \/etc\/apt\/keyrings\/docker.asc\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.asc\n\necho \\\n\"deb &#91;arch=$(dpkg --print-architecture) signed-by=\/etc\/apt\/keyrings\/docker.asc] https:\/\/download.docker.com\/linux\/ubuntu \\\n$(. \/etc\/os-release &amp;&amp; echo \"$VERSION_CODENAME\") stable\" | \\\nsudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null\n\nsudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n\nsudo apt-get install docker-compose<\/code><\/pre>\n<\/div>\n\n<p>The corresponding documentation can be found here: <a href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">https:\/\/docs.docker.com\/engine\/install\/ubuntu\/<\/a><\/p>\n\n<h2 class=\"wp-block-heading\">Nginx<\/h2>\n\n<p>A dedicated folder must be created on the target system for the Nginx reverse proxy. A file named &#8220;docker-compose.yml&#8221; must be created in this folder. The following content must then be written to the file using a text editing program (e.g. nano):  <\/p>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<pre class=\"wp-block-code\"><code>version: '3.8'\nservices:\n  app:\n    image: 'jc21\/nginx-proxy-manager:latest'\n    restart: unless-stopped\n    ports:\n      - '80:80'\n      - '81:81'\n      - '443:443'\n    volumes:\n      - .\/data:\/data\n      - .\/letsencrypt:\/etc\/letsencrypt\n\nnetworks:\n  default:\n    name: npm\n    external: true<\/code><\/pre>\n<\/div>\n<\/div>\n\n<p>Before the container can be started, the corresponding Docker network must be created with the following command:<\/p>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<pre class=\"wp-block-code\"><code>docker network create npm<\/code><\/pre>\n<\/div>\n<\/div>\n\n<p>The container can then be started with the command &#8220;docker compose up -d&#8221;. The admin interface can then be accessed via the following URL: <\/p>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;&lt;IP-Adresse&gt;:81<\/code><\/pre>\n<\/div>\n<\/div>\n\n<p>By default, the account &#8220;admin@example.com&#8221; exists with the password &#8220;changeme&#8221;. This access data must be changed the first time you log in: <\/p>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"323\" height=\"225\" src=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-5.png\" alt=\"\" class=\"wp-image-9138\" srcset=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-5.png 323w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-5-300x209.png 300w\" sizes=\"(max-width: 323px) 100vw, 323px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"341\" height=\"277\" src=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-6.png\" alt=\"\" class=\"wp-image-9140\" srcset=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-6.png 341w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-6-300x244.png 300w\" sizes=\"(max-width: 341px) 100vw, 341px\" \/><\/figure>\n<\/div>\n<\/div>\n\n<h2 class=\"wp-block-heading\">Apache<\/h2>\n\n<p>Similar to Nginx, a separate folder including a docker-compose.yml file with the following content must be created for Apache:   <\/p>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<pre class=\"wp-block-code\"><code>version: '3.9'\nservices:\n  apache:\n    image: httpd:latest\n    container_name: apache-default\n    volumes:\n    - .\/website:\/usr\/local\/apache2\/htdocs\nnetworks:\n  default:\n    name: npm\n    external: true <\/code><\/pre>\n<\/div>\n<\/div>\n\n<p>The Apache web server is then started with the command &#8220;docker-compose up -d&#8221; and runs under the name <em>apache-default<\/em>.<\/p>\n\n<h2 class=\"wp-block-heading\">Accessibility on the Internet<\/h2>\n\n<p>The next step requires a dedicated domain that points to the IP address of the Linux server. In our example, the domain <em>blogpost.hansesecure.com <\/em>is used. <\/p>\n\n<p>A new proxy host must first be created in the Nginx admin interface:<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"393\" src=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-3-1024x393.png\" alt=\"\" class=\"wp-image-9134\" srcset=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-3-1024x393.png 1024w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-3-300x115.png 300w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-3-768x295.png 768w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-3.png 1191w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p>The following settings must then be made there:<\/p>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"548\" src=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-1.png\" alt=\"\" class=\"wp-image-9130\" srcset=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-1.png 500w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-1-274x300.png 274w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"554\" src=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-2.png\" alt=\"\" class=\"wp-image-9132\" style=\"width:410px;height:auto\" srcset=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-2.png 500w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-2-271x300.png 271w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure>\n<\/div>\n<\/div>\n\n<p>After saving, the Apache web server can then be accessed via the URL:<\/p>\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"100\" src=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-4.png\" alt=\"\" class=\"wp-image-9136\" srcset=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-4.png 561w, https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/grafik-4-300x53.png 300w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><\/figure>\n\n<h2 class=\"wp-block-heading\">Outlook<\/h2>\n\n<p>This blog post shows a simple way to make your own Apache web server accessible on the Internet via a reverse proxy.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>As already explained in our article on proxies, there are many reasons for using a reverse proxy. But how do I set up such a reverse proxy? This blog post shows how to set up an Nginx reverse proxy, using an Apache web server on its own domain as an example. These instructions apply to [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":9143,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[257,259],"tags":[266],"class_list":["post-9359","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deep-dive-techniques","category-practical-advice","tag-migration-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mastering Security: How do I set up an Nginx reverse proxy? &#8211; HanseSecure GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mastering Security: How do I set up an Nginx reverse proxy? &#8211; HanseSecure GmbH\" \/>\n<meta property=\"og:description\" content=\"As already explained in our article on proxies, there are many reasons for using a reverse proxy. But how do I set up such a reverse proxy? This blog post shows how to set up an Nginx reverse proxy, using an Apache web server on its own domain as an example. These instructions apply to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/\" \/>\n<meta property=\"og:site_name\" content=\"HanseSecure GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/hansesecure\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-12T10:05:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-07T07:02:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1076\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"kugler\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CyberWarship\" \/>\n<meta name=\"twitter:site\" content=\"@CyberWarship\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kugler\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/\"},\"author\":{\"name\":\"kugler\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#\\\/schema\\\/person\\\/e485fb697fb91ee48d82b2c3be35b809\"},\"headline\":\"Mastering Security: How do I set up an Nginx reverse proxy?\",\"datePublished\":\"2024-11-12T10:05:59+00:00\",\"dateModified\":\"2025-01-07T07:02:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/\"},\"wordCount\":366,\"publisher\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hansesecure.de\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/ai-generated-8136172_1920.jpg\",\"keywords\":[\"Migration\"],\"articleSection\":[\"Deep Dive Techniques\",\"Practical Advice\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/\",\"url\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/\",\"name\":\"Mastering Security: How do I set up an Nginx reverse proxy? &#8211; HanseSecure GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hansesecure.de\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/ai-generated-8136172_1920.jpg\",\"datePublished\":\"2024-11-12T10:05:59+00:00\",\"dateModified\":\"2025-01-07T07:02:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/hansesecure.de\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/ai-generated-8136172_1920.jpg\",\"contentUrl\":\"https:\\\/\\\/hansesecure.de\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/ai-generated-8136172_1920.jpg\",\"width\":1920,\"height\":1076},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/2024\\\/11\\\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mastering Security: How do I set up an Nginx reverse proxy?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/\",\"name\":\"HanseSecure GmbH\",\"description\":\"Choose the Intruder\",\"publisher\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#organization\",\"name\":\"HanseSecure GmbH\",\"url\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hansesecure.de\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/cropped-000-LOGO-intensiv-schwarz-rot-HanseSecure_LOGO_CTI_Vektor_rotes_H11806.png\",\"contentUrl\":\"https:\\\/\\\/hansesecure.de\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/cropped-000-LOGO-intensiv-schwarz-rot-HanseSecure_LOGO_CTI_Vektor_rotes_H11806.png\",\"width\":512,\"height\":512,\"caption\":\"HanseSecure GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/hansesecure\",\"https:\\\/\\\/x.com\\\/CyberWarship\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/hansesecure\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCAABbKOA_stDFkEKS3MSF7Q\",\"https:\\\/\\\/www.instagram.com\\\/hansesecure\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/hansesecure.de\\\/en\\\/#\\\/schema\\\/person\\\/e485fb697fb91ee48d82b2c3be35b809\",\"name\":\"kugler\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c14dc63c8a766345220311baf283bf40f5fcb5311c23ebc10b6e29802a5e5351?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c14dc63c8a766345220311baf283bf40f5fcb5311c23ebc10b6e29802a5e5351?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c14dc63c8a766345220311baf283bf40f5fcb5311c23ebc10b6e29802a5e5351?s=96&d=mm&r=g\",\"caption\":\"kugler\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mastering Security: How do I set up an Nginx reverse proxy? &#8211; HanseSecure GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/","og_locale":"en_US","og_type":"article","og_title":"Mastering Security: How do I set up an Nginx reverse proxy? &#8211; HanseSecure GmbH","og_description":"As already explained in our article on proxies, there are many reasons for using a reverse proxy. But how do I set up such a reverse proxy? This blog post shows how to set up an Nginx reverse proxy, using an Apache web server on its own domain as an example. These instructions apply to [&hellip;]","og_url":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/","og_site_name":"HanseSecure GmbH","article_publisher":"https:\/\/facebook.com\/hansesecure","article_published_time":"2024-11-12T10:05:59+00:00","article_modified_time":"2025-01-07T07:02:05+00:00","og_image":[{"width":1920,"height":1076,"url":"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920.jpg","type":"image\/jpeg"}],"author":"kugler","twitter_card":"summary_large_image","twitter_creator":"@CyberWarship","twitter_site":"@CyberWarship","twitter_misc":{"Written by":"kugler","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/#article","isPartOf":{"@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/"},"author":{"name":"kugler","@id":"https:\/\/hansesecure.de\/en\/#\/schema\/person\/e485fb697fb91ee48d82b2c3be35b809"},"headline":"Mastering Security: How do I set up an Nginx reverse proxy?","datePublished":"2024-11-12T10:05:59+00:00","dateModified":"2025-01-07T07:02:05+00:00","mainEntityOfPage":{"@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/"},"wordCount":366,"publisher":{"@id":"https:\/\/hansesecure.de\/en\/#organization"},"image":{"@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/#primaryimage"},"thumbnailUrl":"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920.jpg","keywords":["Migration"],"articleSection":["Deep Dive Techniques","Practical Advice"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/","url":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/","name":"Mastering Security: How do I set up an Nginx reverse proxy? &#8211; HanseSecure GmbH","isPartOf":{"@id":"https:\/\/hansesecure.de\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/#primaryimage"},"image":{"@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/#primaryimage"},"thumbnailUrl":"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920.jpg","datePublished":"2024-11-12T10:05:59+00:00","dateModified":"2025-01-07T07:02:05+00:00","breadcrumb":{"@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/#primaryimage","url":"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920.jpg","contentUrl":"https:\/\/hansesecure.de\/wp-content\/uploads\/2024\/10\/ai-generated-8136172_1920.jpg","width":1920,"height":1076},{"@type":"BreadcrumbList","@id":"https:\/\/hansesecure.de\/en\/2024\/11\/mastering-security-how-do-i-set-up-an-nginx-reverse-proxy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/hansesecure.de\/en\/"},{"@type":"ListItem","position":2,"name":"Mastering Security: How do I set up an Nginx reverse proxy?"}]},{"@type":"WebSite","@id":"https:\/\/hansesecure.de\/en\/#website","url":"https:\/\/hansesecure.de\/en\/","name":"HanseSecure GmbH","description":"Choose the Intruder","publisher":{"@id":"https:\/\/hansesecure.de\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hansesecure.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hansesecure.de\/en\/#organization","name":"HanseSecure GmbH","url":"https:\/\/hansesecure.de\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hansesecure.de\/en\/#\/schema\/logo\/image\/","url":"https:\/\/hansesecure.de\/wp-content\/uploads\/2023\/05\/cropped-000-LOGO-intensiv-schwarz-rot-HanseSecure_LOGO_CTI_Vektor_rotes_H11806.png","contentUrl":"https:\/\/hansesecure.de\/wp-content\/uploads\/2023\/05\/cropped-000-LOGO-intensiv-schwarz-rot-HanseSecure_LOGO_CTI_Vektor_rotes_H11806.png","width":512,"height":512,"caption":"HanseSecure GmbH"},"image":{"@id":"https:\/\/hansesecure.de\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/hansesecure","https:\/\/x.com\/CyberWarship","https:\/\/www.linkedin.com\/company\/hansesecure","https:\/\/www.youtube.com\/channel\/UCAABbKOA_stDFkEKS3MSF7Q","https:\/\/www.instagram.com\/hansesecure\/"]},{"@type":"Person","@id":"https:\/\/hansesecure.de\/en\/#\/schema\/person\/e485fb697fb91ee48d82b2c3be35b809","name":"kugler","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c14dc63c8a766345220311baf283bf40f5fcb5311c23ebc10b6e29802a5e5351?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c14dc63c8a766345220311baf283bf40f5fcb5311c23ebc10b6e29802a5e5351?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c14dc63c8a766345220311baf283bf40f5fcb5311c23ebc10b6e29802a5e5351?s=96&d=mm&r=g","caption":"kugler"}}]}},"_links":{"self":[{"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/posts\/9359","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/comments?post=9359"}],"version-history":[{"count":1,"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/posts\/9359\/revisions"}],"predecessor-version":[{"id":9361,"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/posts\/9359\/revisions\/9361"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/media\/9143"}],"wp:attachment":[{"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/media?parent=9359"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/categories?post=9359"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hansesecure.de\/en\/wp-json\/wp\/v2\/tags?post=9359"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}