: LoadModule headers_module modules/mod_headers.so :
: <VirtualHost www.example.com:80> Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" </VirtualHost> <VirtualHost www.example.com:443> Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" </VirtualHost> :
如果是 Debian 環境
sudo a2enmod headers
vi sites-enabled/wordpress.conf
: <VirtualHost *:80> UseCanonicalName Off ServerAdmin webmaster@localhost DocumentRoot /var/www/wordpress Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" </VirtualHost> <VirtualHost *:443> SSLEngine on ServerAdmin webmaster@localhost DocumentRoot /var/www/wordpress Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" </VirtualHost> :
sudo systemctl restart apache2
: : ### Section 3: Virtual Hosts : NameVirtualHost *:80 : <VirtualHost *:80> ServerName www.abc.com ServerAdmin [email protected] DocumentRoot /var/www/www.abc.com CustomLog logs/www.abc.com-access_log common ErrorLog logs/www.abc.com-error_log </VirtualHost> <VirtualHost *:80> ServerName www.xyz.com ServerAdmin [email protected] DocumentRoot /var/www/www.xyz.com CustomLog logs/www.xyz.com-access_log common ErrorLog logs/www.xyz.com-error_log </VirtualHost>
通常基於資訊安全因素會關閉顯示目錄檔案清單, 所以在 httpd.conf 內會設定所有目錄都不顯示 (也就是移除掉 MultiViews 的設定), 將 Options Indexes FollowSymLinks 前面加上 #
: # Note that "MultiViews" must be named *explicitly* --- "Options All" : # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files.
如果要顯示目錄檔案清單,可以針對特定目錄設定 Options 有 MultiViews 功能, Exp. /Stuff 以下可以針對特定 IP 來源存取並出現檔案目錄清單
<Location /Stuff> Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 192.168.11.0/24 </Location>
我是用在將 VMWare 在內部運作的網頁能夠簡易的呈現到 Internet 的 WebServer 上.
<ditaa name=ProxyPass>
+----------------------+ +--------------+ +---------+ | webServer(ProxyPass) | | vm-mail | | Browser +-->+ /webmail +-->+ /webmail | +---------+ | mail.ichiayi.com | |192.168.11.238| +----------------------+ +--------------+
</ditaa>
Browser 連上 webServer(http://mail.ichiayi.com/webmail), 出現的畫面是由 vm-mail(http://192.168.11.238/webmail) 所提供頁面
ProxyPass /webmail http://192.168.11.238/webmail
這樣 http://mail.ichiayi.com/webmail/ 就可以正確轉讀至 http://192.168.11.238/webmail 網頁功能
只要依據一般正常的 web server 設定即可
當某個網站移轉到新的網址, 原本網頁在舊網址內都移除掉, 希望只要在 Google 找到舊的網址都能出現已經移到新的網址的訊息.. 這時就可以將 404 找不到網頁的訊息, 自訂成說明網址移轉的網頁. 設定方式只要在 httpd.conf 內增加一行, 指定呈現的轉只說明頁面.
: <VirtualHost *:80> ServerName sport.ichiayi.com ServerAdmin [email protected] DocumentRoot /backup/lintsai/sport ErrorDocument 404 /err404.htm :
然後編輯 /backup/lintsai/sport/err404.htm
<html> <head> <title>嘉義市體育會~已經更新網址~</title> <meta http-equiv="content-type" content="text/html;charset=utf8"> <meta http-equiv="refresh" content="5; URL=http://sport.104es.com/"> </head> <body> <center> <a href=http://sport.104es.com/>按這邊直接連結到新網址</a><font color=red size=6><br /> </center> </body> </html>
針對特定 IP 來存取目錄時, 可以免除輸入帳號密碼增加方便性的設定方式如下:
<Location /mydata> Order deny,allow Deny from all AuthType Basic AuthName "Authorization Realm" AuthUserFile /data/web-data/mydata.user Require valid-user Allow from 192.168.11. Satisfy Any </Location>