# Reverse proxy internal IP

**URL:** <https://talk.getindico.io/t/reverse-proxy-internal-ip/3359>\
**Category:** Administrators\
**Created:** [January 15, 2024, 11:45am UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359 "2024-01-15T11:45:13Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [January 15, 2024, 11:45am UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/1 "2024-01-15T11:45:13Z")

</div>

Hi All I am struggling with my fresh installation of indico. I followed the instructions for installation and all went without a hitch. The problem is that is it running on port 8080 as http on that server. It is not a public facing installation and I am using a virtualmin server as my reverse proxy for this host. Virtualmin does the letsencrypt side and then acts as a revers proxy for my server.

The host is [https://events.hevo.co.za](https://events.hevo.co.za)

when I try to register for a conference the system does nothing. I will post screenshots etc… to the post in a few moments

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [January 15, 2024, 11:47am UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/2 "2024-01-15T11:47:37Z")

</div>

![Screenshot from 2024-01-15 13-45-44](https://talk.getindico.io/uploads/default/original/2X/9/9bc6b485bcb8080665c5cb7477e79da3a06e44cf.png)

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [January 15, 2024, 11:48am UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/3 "2024-01-15T11:48:21Z")

</div>

![Screenshot from 2024-01-15 13-48-04](https://talk.getindico.io/uploads/default/original/2X/c/c826609789c490e24a0932825c61014250d1a075.png)

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [January 15, 2024, 12:43pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/4 "2024-01-15T12:43:08Z")

</div>

Make sure your `BASE_URL` is set correctly (with https), and that you restarted the indico-uwsgi and indico-celery services after changing your config.

Also make sure that `USE_PROXY` is set and your reverse proxy is sending the correct headers: [Settings — Indico 3.2.8 documentation](https://docs.getindico.io/en/stable/config/settings/#USE_PROXY)

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [January 15, 2024, 1:08pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/5 "2024-01-15T13:08:20Z")

</div>

![Screenshot from 2024-01-15 15-04-26](https://talk.getindico.io/uploads/default/original/2X/7/7724d0603be396346a0672df632cf31bb3ecf2a5.png)

This is my config file. when I attempt to make it BASE\_URL = ‘[https://events.hevo.co.za](https://events.hevo.co.za)’ I get the following result

This Indico instance can only be accessed via [https://events.hevo.co.za](https://events.hevo.co.za/)

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [January 15, 2024, 1:12pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/6 "2024-01-15T13:12:21Z")

</div>

You need to change your `SECRET_KEY` right now since you just shared it in a public place. Knowing that key is enough to take over accounts on your instance (since one can generate e.g. a valid password reset token with it).

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [January 15, 2024, 1:13pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/7 "2024-01-15T13:13:00Z")

</div>

Your new error indicates that your reverse proxy is not sending the correct headers so Indico thinks it’s being accessed via a different URL.

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [January 15, 2024, 1:19pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/8 "2024-01-15T13:19:05Z")

</div>

> [@ThiefMaster](#):
>
> erse proxy is sending the correct headers

WIll change the key right now. In my virtualmin I set proxying to my BASE\_URL on port 8080. is this wrong

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [January 15, 2024, 1:19pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/9 "2024-01-15T13:19:58Z")

</div>

does my nginx have to listen on port 443

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [January 15, 2024, 1:21pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/10 "2024-01-15T13:21:41Z")

</div>

Do you mean the one from indico? Doesn’t matter, any port will do. the main one (so on your virtualmin instance) should be on 443 because that’s the standard for https…

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [January 15, 2024, 1:26pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/11 "2024-01-15T13:26:10Z")

</div>

Thanks for the assist. I managed to get it working

had to apply the virtualmin setting correctly

you have been great.  
checking on emails now

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [February 8, 2024, 2:06pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/12 "2024-02-08T14:06:26Z")

</div>

Hi Again guys

I can’t believe I am stuck again.

The site stopped working again.

I don’t think I did anything to it but now I get the following error

# Proxy Error

The proxy server could not handle the request

Reason: **Error during SSL Handshake with remote server**

I did a attempt to change the certificate on my wordpress site of the domain hevo.co.za for email purposes but this should not have had anything to do with this indico site

this is my nginx config

 ![image](https://talk.getindico.io/uploads/default/original/2X/4/432bbceeefc2854a9438abd3972f4c1ac86d0ce5.png)

and here is my .indico.conf file

```python
BASE_URL = 'https://events.hevo.co.za'
CELERY_BROKER = 'redis://127.0.0.1:6379/0'
REDIS_CACHE_URL = 'redis://127.0.0.1:6379/1'
DEFAULT_TIMEZONE = 'Africa/Johannesburg'
DEFAULT_LOCALE = 'en_GB'
ENABLE_ROOMBOOKING = True
CACHE_DIR = '/opt/indico/cache'
TEMP_DIR = '/opt/indico/tmp'
LOG_DIR = '/opt/indico/log'
STORAGE_BACKENDS = {'default': 'fs:/opt/indico/archive'}
ATTACHMENT_STORAGE = 'default'
USE_PROXY = True

STATIC_FILE_METHOD = ('xaccelredirect', {'/opt/indico': '/.xsf/indico'})

#Plugins
PLUGINS = {'vc_zoom', 'payment_paypal', 'payment_manual'}

```

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [February 8, 2024, 2:08pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/13 "2024-02-08T14:08:22Z")

</div>

mi config in virtualmin is just

 ![image](https://talk.getindico.io/uploads/default/original/2X/6/63821fb7258bfe9dd8c113ab08b544d97f4cf78b.png)

This is my letsencrypt conf

 ![image](https://talk.getindico.io/uploads/default/original/2X/0/00a21b25e8f5e47e042d409ae17e9dc10a91b9cf.png)

wonder if the certificates on the indico is outdated now

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [February 8, 2024, 2:12pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/14 "2024-02-08T14:12:48Z")

</div>

From where is the proxy error coming? Your virtualmin reverse proxy? If yes, check the TLS config there. The logfiles might also contain more detailed information than “error during handshake”.

I also suggest trying to access your Indico server directly to see if TLS there is broken for some reason. But a problem on your virtualmin side sounds way more likely if that’s all you touched when it broke.

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [February 8, 2024, 2:16pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/15 "2024-02-08T14:16:50Z")

</div>

I added the site to my hosts and I can access it with the domain [https://events.hevo.co.za](https://events.hevo.co.za).

but it asks for the self hosted certificate to be accepted

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [February 8, 2024, 2:18pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/16 "2024-02-08T14:18:50Z")

</div>

If you use a selfsigned cert on your internal host, you need to make sure your virtualmin reverse proxy trusts it or ignores invalid certificates.

Or just use plain HTTP there if it’s in a secure internal network (ie terminate TLS on the virtualmin level)

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [February 8, 2024, 2:26pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/17 "2024-02-08T14:26:10Z")

</div>

so do I just remove the ssl component out of the nginx config file? and only listen on port 8080 for example

 ![image](https://talk.getindico.io/uploads/default/original/2X/b/ba28b4ed48e1c36e6a47b1af04d9c8e06bc6582e.png)

 ![image](https://talk.getindico.io/uploads/default/original/2X/8/85fa39a8d97fad83e9514698048bb8042b664c16.png)

the result looks like this

![image](https://talk.getindico.io/uploads/default/original/2X/9/918d5acba192c7b075dd8ea13da1b7ddfd51ed9f.png)

the BASE\_URL = [https://events.hevo.co.za](https://events.hevo.co.za)

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [February 8, 2024, 2:30pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/18 "2024-02-08T14:30:10Z")

</div>

You need to make sure the `X-Forwarded-Proto: https` header is sent, either by nginx or by your virtualmin reverse proxy.

---

<div class="post-metadata">

**Author:** ![Waanie\_Simon](https://talk.getindico.io/user_avatar/talk.getindico.io/waanie_simon/32/1442_2.png) [@Waanie\_Simon](https://talk.getindico.io/u/Waanie_Simon)\
**Post date:** [February 8, 2024, 2:33pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/19 "2024-02-08T14:33:29Z")

</div>

> [@ThiefMaster](#):
>
> X-Forwarded-Proto: https

would this be something I would set in my virtualmin apache config which is the frontend for my virtualmin

---

<div class="post-metadata">

**Author:** ![ThiefMaster](https://talk.getindico.io/user_avatar/talk.getindico.io/thiefmaster/32/509_2.png) [@ThiefMaster](https://talk.getindico.io/u/ThiefMaster)\
**Post date:** [February 8, 2024, 2:37pm UTC](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359/20 "2024-02-08T14:37:08Z")

</div>

Yes, try this: `RequestHeader set X-Forwarded-Proto https`

Alternatively in the nginx config you can do this: `proxy_set_header X-Forwarded-Proto https;`

[Next page](https://talk.getindico.io/t/reverse-proxy-internal-ip/3359.md?page=2)
