cable.conf 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. ###
  2. ### Apache configuration file for Signal-Server
  3. ###
  4. ### VirtualHost for the main service:
  5. <VirtualHost *:443>
  6. ServerName cable-service.cable.im
  7. SSLEngine On
  8. # Per il servizio Signal vero e proprio usiamo invece il certificato self-signed.
  9. # Nel keystore del'app Android è il root certificate della nostra CA, assicurando
  10. # così che l'app riconosca come validi solo i certificati emessi dalla nostra CA.
  11. SSLCertificateFile /home/cable/certificati/whisper.crt
  12. SSLCertificateKeyFile /home/cable/certificati/whisper.key
  13. Include /etc/letsencrypt/options-ssl-apache.conf
  14. #SSLCertificateChainFile /home/cable/certificati/whisper.crt
  15. # Per proxare websocket (ws://) serve questa roba:
  16. #
  17. # https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html
  18. ProxyVia On
  19. ProxyPreserveHost On
  20. ProxyPass / ws://127.0.0.1:4242/
  21. ProxyPassReverse / ws://127.0.0.1:4242/
  22. </VirtualHost>
  23. ### VirtualHost for letting Twilio call back:
  24. <VirtualHost *:443>
  25. ServerName cable-service-ca.cable.im
  26. SSLEngine On
  27. # Su cable-service-ca.cable.im serve un certificato valido (letsencrypt).
  28. # È l'hostname a cui si connette Twilio per ottenere le informazioni
  29. # necessarie a fare la verifica del numero tramite chiamata vocale.
  30. SSLCertificateFile /etc/letsencrypt/live/cable-service-ca.cable.im/cert.pem
  31. SSLCertificateKeyFile /etc/letsencrypt/live/cable-service-ca.cable.im/privkey.pem
  32. Include /etc/letsencrypt/options-ssl-apache.conf
  33. SSLCertificateChainFile /etc/letsencrypt/live/cable-service-ca.cable.im/chain.pem
  34. ProxyVia On
  35. ProxyPreserveHost On
  36. ProxyPass / http://127.0.0.1:4242/
  37. ProxyPassReverse / http://127.0.0.1:4242/
  38. </VirtualHost>
  39. ### Giphy proxy:
  40. <VirtualHost *:80>
  41. ServerName giphy.com
  42. ServerAlias *.giphy.com
  43. ProxyRequests On
  44. ProxyVia Block
  45. # ProxyPreserveHost On
  46. # The AllowConnect directive specifies a list of ports
  47. # to which the proxy CONNECT method may connect.
  48. AllowConnect 443
  49. # Only allow HTTP CONNECT requests, denying the others (GET, POST, ...).
  50. <Location />
  51. Require method CONNECT
  52. </Location>
  53. # This <Proxy *> block is not really needed, but let's leave it.
  54. <Proxy *>
  55. # New syntax, see https://httpd.apache.org/docs/2.4/upgrading.html
  56. # Can't be mixed with the old "Order" and "Allow" stuff, so we stay
  57. # with the old syntax for now...
  58. #Require all denied
  59. Order deny,allow
  60. Deny from all
  61. </Proxy>
  62. <Proxy "*.giphy.com:443">
  63. #Require all granted
  64. Order allow,deny
  65. Allow from all
  66. </Proxy>
  67. </VirtualHost>
  68. ### Adminer (adminer.org):
  69. <VirtualHost *:443>
  70. ServerName db.cable.im
  71. SSLEngine On
  72. SSLCertificateFile /etc/letsencrypt/live/db.cable.im/cert.pem
  73. SSLCertificateKeyFile /etc/letsencrypt/live/db.cable.im/privkey.pem
  74. Include /etc/letsencrypt/options-ssl-apache.conf
  75. SSLCertificateChainFile /etc/letsencrypt/live/db.cable.im/chain.pem
  76. DocumentRoot "/var/www/adminer/"
  77. <Files ".*">
  78. #Require all denied
  79. Order deny,allow
  80. Deny from all
  81. </Files>
  82. <Location />
  83. AuthType Basic
  84. AuthUserFile "/var/www/adminer/.htpasswd"
  85. AuthName "Adminer"
  86. Require valid-user
  87. </Location>
  88. </VirtualHost>