Difference between revisions of "Httpd"

From Colettapedia
Jump to navigation Jump to search
Line 1: Line 1:
 
==General==
 
==General==
 +
* Basically, fuck apache, NGINX is WAY better
 
* [https://httpd.apache.org/docs/2.4/mod/core.html Apache server core feeatures and directives]
 
* [https://httpd.apache.org/docs/2.4/mod/core.html Apache server core feeatures and directives]
  
Line 51: Line 52:
  
 
</pre>
 
</pre>
 +
==mod_rewrite==
 +
* [https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewriterule RewriteRule Directive]

Revision as of 14:46, 17 July 2019

General

Virtual Hosts

  • Virtual Host documentation
  • Virtual Host examples
  • "The term Virtual Host refers to the practice of running more than one web site (such as company1.example.com and company2.example.com) on a single machine. Virtual hosts can be "IP-based", meaning that you have a different IP address for every web site, or "name-based", meaning that you have multiple names running on each IP address. The fact that they are running on the same physical server is not apparent to the end user."
  • VirtualHost directive
    • Contains directives that apply only to a specific hostname or IP address

<VirtualHost 10.1.2.3:80>
  ServerAdmin webmaster@host.example.com
  DocumentRoot "/www/docs/host.example.com"
  ServerName host.example.com
  ErrorLog "logs/host.example.com-error_log"
  TransferLog "logs/host.example.com-access_log"
</VirtualHost>

Configuring reverse proxy

  • mod_proxy - Multi-protocol proxy/gateway server
  • A reverse proxy is activated using the ProxyPass directive or the [P] flag to the RewriteRule directive
  • Different from a forward proxy which is the standard thing you already know: make my ip look to the website as if it's the server's ip. Here it's make the server's ip look like the proxy's ip

Reverse Proxy directives

  • <Proxy> - Container for directives applied to proxied resources. Directives placed in <Proxy> sections apply only to matching proxied content.
  • ProxyPass - Maps remote servers into the local server URL-space
    • This directive allows remote servers to be mapped into the space of the local server.
    • The local server does not act as a proxy in the conventional sense but appears to be a mirror of the remote server.
    • The local server is often called a reverse proxy or gateway.
    • The path is the name of a local virtual path
    • url is a partial URL for the remote server and cannot include a query string.
    • You can also use a UNIX socket as a valid destination by prepending with unix:

rstudio.conf example


    <VirtualHost *:80>

      <Proxy *>
        Allow from localhost
      </Proxy>

      ProxyPass        /rstudio/ http://localhost:8787/
      ProxyPassReverse /rstudio/ http://localhost:8787/
      RedirectMatch permanent ^/rstudio$ /rstudio/

    </VirtualHost>

mod_rewrite