Get the App
SLTechnology News&Howtos  ›  Servers  › 

Apache profile reverse proxy PHP and https

Shulou Source: shulou.com Published: 2022-06-02 18:59:27 11月10日 Update

This is the main Apache HTTP server configuration file. It contains theconfiguration directives that give the server its instructions.See for detailed information.In particular, seefor a discussion of each configuration directive.

#

Do NOT simply read the instructions in here without understandingwhat they do. They're here only as hints or reminders. If you are unsureconsult the online docs. You have been warned.

#

Configuration and logfile names: If the filenames you specify for manyof theserver's control files begin with "/" (or "drive:/" for Win32), theserver will use that explicit path. If the filenames do not beginwith "/", the value of ServerRoot is prepended-- so 'log/access_log'with ServerRoot set to' / www' will beinterpreted by theserver as'/ www/log/access_log', where as'/ log/access_log' will beinterpreted as'/ log/access_log'.

#

ServerRoot: The top of the directory tree under which the server'sconfiguration, error, and log files are kept.

#

Do not add a slash at the end of the directory path. If you pointServerRoot at a non-local disk, be sure to specify a local disk on theMutex directive, if file-based mutexes are used. If you wish to share thesame ServerRoot for multiple httpd daemons, you will need to change atleast PidFile.

#

ServerRoot "/ etc/httpd"

#

Listen: Allows you to bind Apache to specific IP addresses and/orports, instead of the default. See also the directive.

#

Change this to Listen on specific IP addresses as shown below toprevent Apache from glomming onto all bound IP addresses.

#

# Listen 12.34.56.78:80

Listen 80

#

Dynamic Shared Object (DSO) Support

#

To be able to use the functionality of a module which was built as a DSO youhave to place corresponding `LoadModule' lines at this location so thedirectives contained in it are actually available before they are used.Statically compiled modules (those listed by `httpd-l') do not needto be loaded here.

#

Example:LoadModule foo_module modules/mod_foo.so

#

Include conf.modules.d/*.conf

#

If you wish httpd to run as a different user or group, you must runhttpd as root initially and it will switch.

#

User/Group: The name (or # number) of the user/group to run httpd as.It is usually good practice to create a dedicated user and group forrunning httpd, as with most system services.

#

User apache

Group apache

'Main' server configuration

#

The directives in this section set up the values used by the 'main'server, which responds to any requests that aren't handled by a definition. These values also provide defaults forany containers you may define later in the file.

#

All of these directives may appear inside containers,in which case these default settings will be overridden for thevirtual host being defined.

#

#

ServerAdmin: Your address, where problems with the server should bee-mailed. This address appears on some server-generated pages, suchas error documents. E.g. Admin@your-domain.com

#

ServerAdmin root@localhost

#

ServerName gives the name and port that the server uses to identify itself.This can often be determined automatically, but we recommend you specifyit explicitly to prevent problems during startup.

#

If your host doesn't have a registered DNS name, enter its IP address here.

#

ServerName www.example.com:80

#

Deny access to the entirety of your server's filesystem. You mustexplicitly permit access to web content directories in other blocks below.

#

AllowOverride none

Require all denied

#

Note that from this point forward you must specifically allowparticular features to be enabled-so if something's not working asyou might expect, make sure that you have specifically enabled itbelow.

#

#

DocumentRoot: The directory out of which you will serve yourdocuments. By default, all requests are taken from this directory, butsymbolic links and aliases may be used to point to other locations.

#

DocumentRoot "/ var/www/html"

#

Relax access to content within / var/www.

#

AllowOverride None

Allow open access:Require all granted

Further relax access to the default document root:

#

Possible values for the Options directive are "None", "All", # or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named * explicitly*-"Options All" # doesn't give it to you.## The Options directive is both complicated and important Please see# http://httpd.apache.org/docs/2.4/mod/core.html#options# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# Options FileInfo AuthConfig Limit#AllowOverride None## Controls who can get stuff from this server.#Require all granted

#

DirectoryIndex: sets the file that Apache will serve if a directoryis requested.

#

DirectoryIndex index.php index.html

#

The following lines prevent .htaccess and .htpasswd files from beingviewed by Web clients.

#

Require all denied

#

ErrorLog: The location of the error log file.If you do not specify an ErrorLog directive within a container, error messages relating to that virtual host will belogged here. If you do define an error logfile for a container, that host's errors will be logged there and not here.

#

ErrorLog "logs/error_log"

#

LogLevel: Control the number of messages logged to the error_log.Possible values include: debug, info, notice, warn, error, crit,alert, emerg.

#

LogLevel warn

#

The following directives define some format nicknames for use with# a CustomLog directive (see below). # LogFormat "% h% u% t\"% r\ "% > s% b\"% {Referer} I\ "\"% {User-Agent} I\ "" combinedLogFormat "h% l% u% t\"% r\ "% > s% b" common # You need to enable mod_logio.c to use% I and% O LogFormat "% h% u% t\" r\ " % > s% b\ "% {Referer} I\"\ "% {User-Agent} I\"% I% O "combinedio## The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a # container They will be logged here. Contrariwise, if you * do*# define per- access logfiles, transactions will be# logged therein and * not* in this file.##CustomLog "logs/access_log" common## If you prefer a logfile with access, agent, and referer information# (Combined Logfile Format) you can use the following directive.#CustomLog "logs/access_log" combined

#

Redirect: Allows you to tell clients about documents that used to# exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location.# Example:# Redirect permanent / foo http://www.example.com/bar## Alias: Maps web paths into filesystem paths and is used to# access content that does not live under the DocumentRoot.# Example:# Alias / webpath / full/filesystem/path## If you include a trailing / on / webpath then the server will# require it to be present in the URL. You will also likely# need to provide a section to allow access to# the filesystem path.## ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that# documents in the target directory are treated as applications and# run by the server when requested rather than as documents sent to the# client. The same rules about trailing "/" apply to ScriptAlias# directives as to Alias.#ScriptAlias / cgi-bin/ "/ var/www/cgi-bin/"

#

"/ var/www/cgi-bin" should be changed to whatever your ScriptAliasedCGI directory exists, if you have that configured.

#

AllowOverride None

Options None

Require all granted

#

TypesConfig points to the file containing the list of mappings from# filename extension to MIME-type.#TypesConfig / etc/mime.types## AddType allows you to add to or override the MIME configuration# file specified in TypesConfig for specific file types.##AddType application/x-gzip .tgz # # AddEncoding allows you to have certain browsers uncompress# information on the fly. Note: Not all browsers support this.##AddEncoding x-compress .Z # AddEncoding x-gzip .gz. TGZ # # If the AddEncoding directives above are commented-out, then you# probably should define those extensions to indicate media types:#AddType application/x-compress .ZAddType application/x-gzip .gz. TGZ # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server# or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories:# (You will also need to add "ExecCGI" to the "Options" directive.) # # AddHandler cgi-script .CGI # For type maps (negotiated resources): # AddHandler type-map var## Filters allow you to process content before it is sent to the client.## To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the " Options "directive.) # AddType text/html .shtmlAddOutputFilter INCLUDES .shtml

#

Specify a default charset for all content served; this enablesinterpretation of all content as UTF-8 by default. To use thedefault browser choice (ISO-8859-1), or to allow the META tagsin HTML content to override this choice, comment out thisdirective:

#

AddDefaultCharset UTF-8

#

The mod_mime_magic module allows the server to use various hints from the# contents of the file itself to determine its type. The MIMEMagicFile# directive tells the module where the hint definitions are located.#MIMEMagicFile conf/magic

#

Customizable error responses come in three flavors:1) plain text 2) local redirects 3) external redirects

#

Some examples:

# ErrorDocument 500 "The server made a boo boo."

# ErrorDocument 404 / missing.html

# ErrorDocument 404 "/ cgi-bin/missing_handler.pl"

# ErrorDocument 402 http://www.example.com/subscription_info.html

#

#

EnableMMAP and EnableSendfile: On systems that support it,memory-mapping or the sendfile syscall may be used to deliverfiles. This usually improves server performance, but mustbe turned off when serving from networked-mountedfilesystems or if support for these functions is otherwisebroken on your system.Defaults if commented: EnableMMAP On, EnableSendfile Off

#

# EnableMMAP off

EnableSendfile on

Supplemental configuration

#

Load config files in the "/ etc/httpd/conf.d" directory, if any.

IncludeOptional conf.d/*.conf

ServerName clinic.nadnurses.com

DocumentRoot "/ var/www/website/nadclinic/public_html"

ProxyRequests Off

ProxyPassMatch ^ / (.. php) $fcgi://127.0.0.1:9000/var/www/website/nadclinic/public_html/$1

Options Indexes FollowSymLinks Includes

Options None

AllowOverride None

Require all granted

Header always set Strict-Transport-Security "max-age=31536000"

RewriteEngine on # RewriteRule ^ (/. *) $https://%{HTTP_HOST}$1 [redirect=302]

ErrorLog "logs/clinic.nadnurses.com_error.log"

CustomLog "logs/clinic.nadnurses.com_access.log" common

# NAD official website

ServerName mynadclinic.com

DocumentRoot "/ var/www/stage/nadclinic"

Options Indexes FollowSymLinks Includes

Options None

AllowOverride None

Require all granted

Header set Content-Security-Policy: upgrade-insecure-requests

Header always set Strict-Transport-Security "max-age=31536000"

RewriteEngine on

RewriteRule ^ (/.) $https://%{HTTP_HOST}$1 [redirect=302]

ErrorLog "logs/mynadclinic.com_error.log"

CustomLog "logs/mynadclinic.com_access.log" common

ServerName test.mynadclinic.com

DocumentRoot "/ var/www/test/nadclinic/"

Options Indexes FollowSymLinks Includes

Options None

AllowOverride None

Require all granted

Header always set Strict-Transport-Security "max-age=31536000"

RewriteEngine on

RewriteRule ^ (/.) $https://%{HTTP_HOST}$1 [redirect=302]

ErrorLog "logs/test.mynadclinic.com.log"

CustomLog "logs/test.mynadclinic.com_access.log" common

Tags: UTF-8 e.g. files agents configuration Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Linux Shulou Technology Redmi Apple Xiaomi