Files
workavia-drive/Documentation/docs/onprem/configuration/custom-domain-and-https/apache2-configuration.md
T
montaghanmy 10fe6f78d1 feat: init
2023-03-23 11:03:16 +01:00

78 lines
2.0 KiB
Markdown

---
description: "\U0001F64F From Dahpril (community) https://github.com/TwakeApp/Twake/issues/76"
---
# Apache2 configuration
#### Apache vhost
You need to create a vhost listening on port 443.
_For exemple with certbot :_
_1. Create a vhost listening on port 80 with ServerName equals to your custom domain. Don't define any document root. 2. Then, use certbot to get a certificate and automatically create your vhost listening on port 443_
```text
sudo certbot --apache --email your_email -d your_domain --agree-tos --redirect --noninteractive
```
#### Reverse proxy
You have now to configure your reverse proxy directive. Head up to your 443 vhost configuration file and paste those directives \(place them after server and ssl directives\) :
```text
RewriteEngine on
RewriteCond ${HTTP:Upgrade} websocket [NC]
RewriteCond ${HTTP:Connection} upgrade [NC]
RewriteRule .* "wss://127.0.0.1:8000/$1" [P,L]
ProxyRequests off
<Location />
ProxyPass http://127.0.0.1:8000/
ProxyPassReverse http://127.0.0.1:8000/
ProxyPreserveHost On
</Location>
<Location /socketcluster>
ProxyPass ws://127.0.0.1:8000/socketcluster
ProxyPassReverse ws://127.0.0.1:8000/socketcluster
ProxyPreserveHost On
</Location>
<Proxy *>
AllowOverride All
Order allow,deny
Allow from All
</Proxy>
RequestHeader set X-Forwarded-port "80"
```
Be careful to NOT type trailing slash for ws location \(it won't work\).
I'm not sure that all directives are needed, but this configuration works for me.
#### Configuring remoteip
You also need to configure remoteip mod from apache with this command :
```text
a2enmod remoteip
```
Then, edit /etc/apache2/conf-available/remoteip.conf to fit with this content :
```text
RemoteIPHeader X-Real-IP
RemoteIPTrustedProxy 127.0.0.1 ::1
```
You can now enable the configuration of remoteip and restart Apache :
```text
a2enconf remoteip
service apache2 restart
```
Return to the section "Configure domain name" of [Custom domain + HTTPS](./README.md#configure-domain-name) page to continue the configuration.