deb/apache-register-forward-proxy.bash
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 31 Jul 2023 00:20:03 +0300
changeset 27 9b0cc94cd960
parent 24 2f6cd2c43f30
child 34 68975e7d5237
permissions -rw-r--r--
${APACHE_LOG_DIR} requires quoting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
#!/bin/bash
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
27
9b0cc94cd960 ${APACHE_LOG_DIR} requires quoting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 24
diff changeset
     3
# curl -v google.com --proxy blog.defun.work:8888 --proxy-user proxy:PASS
9b0cc94cd960 ${APACHE_LOG_DIR} requires quoting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 24
diff changeset
     4
9b0cc94cd960 ${APACHE_LOG_DIR} requires quoting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 24
diff changeset
     5
# sudo a2enmod proxy proxy_http proxy_connect
9b0cc94cd960 ${APACHE_LOG_DIR} requires quoting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 24
diff changeset
     6
11
a6a75053c129 Fixed names, enabled debugging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 10
diff changeset
     7
set -x
a6a75053c129 Fixed names, enabled debugging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 10
diff changeset
     8
a6a75053c129 Fixed names, enabled debugging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 10
diff changeset
     9
# To meet uploading requirements.
10
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
apt install rsync
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
24
2f6cd2c43f30 Renamed config.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 23
diff changeset
    12
d=forward-proxy
10
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
mkdir -p /srv/www/$d
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
chown user:user /srv/www/$d
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
12
26943e31cae5 Removed numerical prefix.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 11
diff changeset
    16
cat <<EOF >/etc/apache2/sites-available/$d.conf
22
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    17
LoadModule proxy_module modules/mod_proxy.so
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    18
LoadModule proxy_http_module modules/mod_proxy_http.so
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    19
10
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
<VirtualHost $d.defun.work:*>
22
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    21
    ProxyRequests On
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    22
    ProxyVia On
13
7ed40cd96e3a Possible fix for: AH01630: client denied by server configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 12
diff changeset
    23
22
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    24
    Require ip 46.118
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    25
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    26
    LogLevel info ssl:warn
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    27
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    28
    ErrorLog ${APACHE_LOG_DIR}/error_forward_proxy.log
5d4380dda5ad Debug version of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 21
diff changeset
    29
    CustomLog ${APACHE_LOG_DIR}/access_forward_proxy.log
11
a6a75053c129 Fixed names, enabled debugging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 10
diff changeset
    30
</VirtualHost>
18
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    31
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    32
<IfModule mod_ssl.c>
21
52f40bd9e114 Integrated Lets Encrypt into all sites.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 20
diff changeset
    33
  <VirtualHost $d.defun.work:443>
23
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    34
    ProxyRequests On
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    35
    ProxyVia On
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    36
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    37
    Require ip 46.118
19
5af5b246cf97 Duplicate GCI settings for SSL block.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 18
diff changeset
    38
23
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    39
    LogLevel info ssl:warn
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    40
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    41
    ErrorLog ${APACHE_LOG_DIR}/error_forward_proxy.log
7ec5ac6da905 Updated SSL section of forward proxy.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 22
diff changeset
    42
    CustomLog ${APACHE_LOG_DIR}/access_forward_proxy.log
18
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    43
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    44
    SSLCertificateFile /etc/letsencrypt/live/defun.work/fullchain.pem
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    45
    SSLCertificateKeyFile /etc/letsencrypt/live/defun.work/privkey.pem
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    46
    Include /etc/letsencrypt/options-ssl-apache.conf
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    47
  </VirtualHost>
7342ebcdd074 Integrating Lets Encrypt test.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 13
diff changeset
    48
</IfModule>
27
9b0cc94cd960 ${APACHE_LOG_DIR} requires quoting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 24
diff changeset
    49
'EOF'
10
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
6a6933bfce58 Added test Apache 2 virtual host.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
a2ensite $d
19
5af5b246cf97 Duplicate GCI settings for SSL block.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 18
diff changeset
    52
service apache2 reload