apache支援的語言和HTTPS
一.apache支援的語言
(一)html語言
(二)php語言
1.訪問檔案index.php
cd /var/www/html/
vim index.php
<?php
phpinfo();
?>
2.安裝php
yum install php -y
cd /etc/httpd/conf.d
測試:172.25.254.117/index.php
(三)CGI
定義:CGI(通用閘道器介面是Web 伺服器執行時外部程式的規範,按CGI 編寫的程式可以擴充套件伺服器功能。CGI 應用程式能與瀏覽器進行互動,還可通過資料庫API 與資料庫伺服器等外部資料來源進行通訊,從資料庫伺服器中獲取資料。格式化為HTML文件後,傳送給瀏覽器,也可以將從瀏覽器獲得的資料放到資料庫中。
功能:絕大多數的CGI程式被用來解釋處理來自表單的輸入資訊,並在伺服器產生相應的處理,或將相應的資訊反饋給瀏覽器。CGI程式使網頁具有互動功能。
1.cgi釋出檔案
mkdir /var/www/html/cgi
vim /var/www/html/cgi/index.cgi ##新建cgi預設釋出檔案
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date` ;
2.給cgi檔案可執行的許可權
chmod +x /var/www/html/cgi/index.cgi
./index.cgi
3.修改安全上下文
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' ##修改安全上下文,這是個執行的檔案 restorecon -RvvF /var/www/html/cgi ##重新讀取檔案/var/www/html/cgi
4.修改主配置檔案
cd /etc/httpd/conf.d/
vim a_defautl.conf
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory “/var/www/html“>
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
測試
172.25.254.117/cgi/index.cgi
二.HTTPS
apache的加密訪問
1.安裝軟體
yum install mod_ssl -y
yum install crypo-utils -y
2.生成加密檔案
cd /etc/httpd/conf.d
genkey www.westos.com
3.
vim /etc/httpd/conf.d/ssl.conf
100 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
108 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
systemctl restart httpd
測試:https://172.25.254.117
點選鎖的標誌—>More information
設定https虛擬主機並設定網頁重寫
cd /var/www/westos.com/
mkdir login
mkdir login/html
vim login/html/index.html
cd /etc/httpd/conf.d/
cp news.conf login.conf
vim login.conf
<VirtualHost *:80>
ServerName login.westos.com
DocumentRoot /var/www/westos.com/login/html
CustomLog logs/login.log combined
</VirtualHost>
<Directory "/var/www/westos.com/login/html">
Require all granted
</Directory>
systemctl restart httpd
檢測:
真機vim /etc/hosts新增login.westos.com
login.westos.com
此時可以在瀏覽器中訪問虛擬主機login.westos.com
vim login.conf
<VirtualHost *:443>
SSLEngine on
ServerName login.westos.com
DocumentRoot /var/www/westos.com/login/html
CustomLog logs/login.log combined
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Directory "/var/www/westos.com/login/html">
Require all granted
</Directory>
<VirtualHost *:80>
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
systemctl restart httpd.service
解釋:
^(/.*)$ ##客戶在瀏覽器位址列中輸入的所有字元
https:// ##強制客戶加密訪問
%{HTTP_HOST} ##客戶請求主機
$1 ##
的值
[redirect=301] ##臨時重寫 302永久轉換
測試 login.westos.com (預設是80埠)------>自動跳轉https:login.westos.com(跳轉到443埠)