1. 程式人生 > >Centos6.8配置HTTPS

Centos6.8配置HTTPS

HTTPS服務
http+openssl

環境要求:
CA證書: 192.168.1.103
網站伺服器: 192.168.1.104
客戶端: 192.168.1.107 (linux圖形化介面)

核心:(客戶端是centos 7圖形化)
# cat /etc/centos-release
  CentOS release 6.8 (Final
# uname -r
  2.6.32-642.el6.x86_64


網站伺服器配置:
# mkdir /opop
# cd /opop
# yum -y install openssl openssl-devel  mod-ssl  libcurl  gcc*  expat-devel  pcre-devel
**********************************************************************************************
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gd gd-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers    注:缺哪個依賴自己裝上即可


***********************************************************************************************
注:要支援ssl加密功能就需要安裝openssl openssl-devel mod_ssl
# wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.33.tar.gz
# wget http://mirrors.hust.edu.cn/apache//apr/apr-1.6.3.tar.gz
# wget http://mirrors.shu.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
# wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz      // Pcre基於perl的相容的正則表示式的支援
# wget https://github.com/nghttp2/nghttp2/releases/download/v1.24.0/nghttp2-1.24.0.tar.bz2
# wget https://curl.haxx.se/download/curl-7.60.0.tar.gz
# wget http://www.digip.org/jansson/releases/jansson-2.11.tar.gz
# wget https://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
# for i in `ls`;do tar -zxvf $i;done
# tar -jxvf nghttp2-1.24.0.tar.bz2
# cd pcre-8.42
# ./configure && make && make install
# cd nghttp2-1.24.0
# ./configure && make && make install
# cd curl-7.60.0
# ./configure && make && make install
# cd zlib-1.2.11
# ./configure && make && make install
# cd jansson-2.11
# ./configure && make && make install
# cd ..
# cp -r apr-1.6.3 httpd-2.4.33/srclib/apr
# cp -r apr-util-1.6.1 httpd-2.4.33/srclib/apr-util
(有的需要自己裝,有的可以直接發到httpd-2.4.33/srclib目錄下,根據./configur時的提示進行修改)


安裝Apache:
# cd httpd-2.4.33
# ./configure --prefix=/usr/local/apache2 --sysconfdir=/usr/local/apache2/etc --enable-ssl --with-crypto --with-included-apr --with-apr=/opop/httpd-2.4.33/srclib/apr --with-apr-util=/opop/httpd-2.4.33/srclib/apr-util --with-pcre=/opop/httpd-2.4.33/srclib/pcre/pcre-config --with-jansson=/opop/httpd-2.4.33/srclib/jansson --with-curl=/opop/httpd-2.4.33/srclib/curl --enable-http --enable-include --with-ldap

# make && make install

配置CA伺服器端:
證書位置:cd /etc/pki/CA/
# cd /etc/pki/CA/
# (umask 077;openssl genrsa -out private/cakey.pem 2048)    //這也是一條命令
注:openssl是命令,genrsa是要用rsa的演算法輸出(-out)一個在"當前"目錄下的private目錄的證書,證書長度為2048。
因為這個檔案不能隨意的看裡面的內容才在命令的最開始用了檔案的反碼,077創建出來的檔案許可權就是700

開啟證書的配置檔案修改一些引數,使證書生成一些預設的值:

# vim /etc/pki/tls/openssl.cnf
  [ req_distinguished_name ]      //在req_distinguished_name區域內修改
  countryName_default = CN     //預設國家
  stateOrProvinceName_default = BJ    //預設省份,該條預設是註釋狀態
  localityName_default = BJ     //預設城市
  0.organizationName_default = LENOVO     //預設組織、公司
  organizationalUnitName_default = cloud computing      //預設單位名稱,該條預設是註釋狀態,cloud computing是雲端計算的意思

生成證書:
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650         //因為在模板裡面已經配置好所以下面只要全部回車即可
  Country Name (2 letter code) [CN]:    //回車
  State or Province Name (full name) [BJ]:   //回車
  Locality Name (eg, city) [BJ]:      //回車
  Organization Name (eg, company) [LENOVO]:   //回車
  Organizational Unit Name (eg, section) [cloud computing]:    //回車
  Common Name (eg, your name or your server's hostname) []:   //回車
  Email Address []:[email protected]      //手動輸入一個郵箱地址即可


返回到網站伺服器端:
# cd /usr/local/apache2/
# mkdir ssl
# cd ssl/
# (umask 077;openssl genrsa 1024 > httpd.key)
# openssl req -new -key httpd.key -out httpd.crq
  Country Name (2 letter code) [XX]: CN     //手動輸入,要和證書伺服器上的一致
  State or Province Name (full name) []:BJ      //手動輸入,要和證書伺服器上的一致
  Locality Name (eg, city) [Default City]:BJ      //手動輸入,要和證書伺服器上的一致
  Organization Name (eg, company) [Default Company Ltd]:LENOVO      //手動輸入,要和證書伺服器上的一致
  Organizational Unit Name (eg, section) []:cloud computing      //手動輸入,要和證書伺服器上的一致
  Common Name (eg, your name or your server's hostname) []:www.biubiubiu.com   //這裡你的網站是什麼域名就寫什麼
  Email Address []:[email protected]    //郵箱按需定即可

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:      //額外資訊按需配置,會和證書一起頒發出去,我這裡沒寫額外的資訊,回車
An optional company name []:    //額外資訊按需配置,會和證書一起頒發出去,我這裡沒寫額外的資訊,回車

注:將生成的httpd.crq傳送到CA伺服器上的/tmp目錄,該步一定要注意....
# scp httpd.crq 192.168.1.103:/tmp

啟用虛擬主機:
# vim /usr/local/apache2/etc/httpd.conf
  Include etc/extra/httpd-vhosts.conf      //啟用該選項,預設是關閉狀態
進行虛擬主機的配置:
# cp /usr/local/apache2/etc/extra/httpd-vhosts.conf /usr/local/apache2/etc/extra/httpd-vhosts.conf.bak
# vim /usr/local/apache2/etc/extra/httpd-vhosts.conf
  <VirtualHost *:80>
  DocumentRoot "/usr/local/apache2/htdocs/www"
  ServerName www.biubiubiu.com
  </VirtualHost>

  <VirtualHost *:80>
  DocumentRoot "/usr/local/apache2/htdocs/edu"
  ServerName edu.biubiubiu.com
  </VirtualHost>
    //虛擬主機區域留2個區域即可,其他全部註釋並進行修改

生成主頁檔案:
# cd /usr/local/apache2/htdocs/
# mkdir www edu
# vim www/index.html
  Finally finished.....
# vim edu/index.html
  It's not easy....

開啟win系統上面 C:\Windows\System32\drivers\etc 中hosts檔案進行新增網站伺服器進行測試:
  192.168.1.104   www.biubiubiu.com
  192.168.1.104   edu.biubiubiu.com

啟動Apache服務:
# /usr/local/apache2/bin/apachectl start         {restart | stop}

在 win 系統上訪問 www.biubiubiu.com 和 edu.biubiubiu.com 域名進行測試


回到CA伺服器:
[[email protected] CA]# pwd
  /etc/pki/CA
# touch index.txt
# echo "00" > serial //數字0

簽署證書:
# openssl ca -in /tmp/httpd.crq -out /tmp/httpd.crt -days 3650     //注意:一個是crq,一個是crt。按2次y即可
# ll /tmp/    //檢視證書有沒成功簽署

回到網站伺服器:
# scp 192.168.1.103:/tmp/httpd.crt .  //將CA伺服器上生成的證書拿到當前/usr/local/apache2/ssl目錄下,不要忘記後面的    
//此時CA伺服器上的crq和crt檔案就沒用了可以刪除掉

證書申請成功,需要讓證書在網站生效:
# vim /usr/local/apache2/etc/httpd.conf
Include etc/extra/httpd-ssl.conf      //啟用該項,預設是註釋狀態

修改ssl模板的配置檔案:
# vim /usr/local/apache2/etc/extra/httpd-ssl.conf
  Listen 443    //監聽44埠
  ...........略一部分內容..............
  <VirtualHost _default_:443>

  # General setup for the virtual host
  DocumentRoot "/usr/local/apache2/htdocs/www"    //網頁在什麼位置
  ServerName www.biubiubiu.com:443    //改成自己的域名
  #ServerAdmin [email protected]      //註釋掉
  #ErrorLog "/usr/local/apache2/logs/error_log"   //註釋掉
  #TransferLog "/usr/local/apache2/logs/access_log"   //註釋掉
  ...........略一部分內容..............
  SSLEngine on   //啟用加密的引擎
  ...........略一部分內容..............
  SSLCertificateFile "/usr/local/apache2/ssl/httpd.crt"   //證書位置
  ...........略一部分內容..............
   SSLCertificateKeyFile "/usr/local/apache2/ssl/httpd.key"   //祕鑰位置
# /usr/local/apache2/bin/apachectl -t     //檢查Apache配置檔案語法,這裡會有一個語法錯誤.....
  AH00526: Syntax error on line 52 of /usr/local/apache2/etc/extra/httpd-ssl.conf:
  Invalid command 'SSLCipherSuite', perhaps misspelled or defined by a module not included in the server configuration

解決辦法:

# vim /usr/local/apache2/etc/httpd.conf
  LoadModule socache_shmcb_module modules/mod_socache_shmcb.so    //啟用該模組
  ...........略一部分內容..............
  LoadModule ssl_module modules/mod_ssl.so                      //啟用該模組

再來檢查語法:
# /usr/local/apache2/bin/apachectl -t
Syntax OK      //檢查通過

重啟Apache服務:
# /usr/local/apache2/bin/apachectl restart


客戶端測試:
# vim /etc/hosts
192.168.1.104   www.biubiubiu.com
開啟火狐瀏覽器訪問 https://www.biubiubiu.com 和 https://edu.biubiubiu.com(會提示"您的連線不安全"字樣)
高階--->新增例外--->檢視--->(即能檢視到我們的證書)--->確認安全例外--->即能檢視到網頁的具體內容--->完畢


注意:不同的瀏覽器顯示出來的"效果"也會不同,注意訪問時的"正確性"

相關推薦

Centos6.8配置HTTPS

HTTPS服務http+openssl 環境要求:CA證書: 192.168.1.103網站伺服器: 192.168.1.104客戶端: 192.168.1.107 (linux圖形化介面) 核心:(客戶端是centos 7圖形化)# cat /etc/centos-release   Cent

CentOS6.8配置GO語言開發環境

應用程序 編程語言 處理器 谷歌 export 導讀Go語言是谷歌2009發布的第二款開源編程語言,Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。 鑒於越來越多的開源項目都采用Go為開發語言,本文介紹Lin

centos6.8 配置服務器NTP服務

style shanghai 沒有 mar 如果 zha pda restart ref centos6.8 配置服務器NTP服務1.1. 配置服務器NTP服務1.1.1. 安裝和配置NTP先查看是否安裝NTPrpm -qa|grep ntp如果沒有安裝則安裝yum

centos6.8+apache+https的簡單搭建

apache centos https 很多理論知識這裏就不提了,如果要深入了解建議先去了解下理論再來看會很容易看懂,下面直接操了。環境:CentOS release 6.8 (Final)apache-2.4.251、查看現有apache是否有編譯安裝過ssl模塊/usr/local/apach

centos6.8配置php-fpm(php已在apache中以模塊形式運行,nginx中同時以fastcgi運行)

-c mnt sock script 端口 cert erro 檢查 配置 location ~ \.php(.*)$ { root /mnt/www/wenyin; fastcgi_pass 127.0.0.1:9

centos6.8配置Java環境

file rwx path entos centos lib centos6 exp 解壓 首先到官網下載Java包解壓並放到/usr/local下面 [root@elk local]# pwd /usr/local [root@elk local]# ll -d jdk1

Centos6.8配置JDK

下載jdk-版本號.tar.gz 解壓到/usr/local/ vi /etc/profile 最後一行新增如下內容: export JAVA_HOME=/usr/local/jdk-版本號export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA

centos6.8配置Nagios全套

系統版本: [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) 環境: nagios服務端:192.168.93.7 被監控客戶端:192.

阿里雲ECS 伺服器centos6.8 配置web環境

用xshell連線到遠端伺服器,安裝rz命令(參見xshell連線,安裝rz命令),在 /usr路徑下建立dev資料夾 rz命令上傳tomcat7,jdk1.8 ,上傳後效果 解壓tomcat, jdk tar -zxvf jdk-8u151-lin

centos6.8配置nginx

認識到nginx和tomcat伺服器配合使用,通過nginx進行分發實現負載均衡,正好可以學習nginx的配置和使用,http://www.nginx.cn/doc/  nginx中文文件學習配置

Linux CentOS6.8配置靜態IP詳細圖文教程

一:執行”vi /etc/sysconfig/network-scripts/ifcfg-eth0“命令開啟配置檔案 二:按"i"鍵進入編輯狀態,然後將配置修改成如下圖所示,紅箭頭標出項修改成自己網段內的IP即可 三:按"esc"鍵退出編輯模式,輸入":wq"儲存並退出,

VMware下CentOS6.8配置GFS檔案系統

1.GFS介紹 GFS簡要說明,它有兩種: 1. Google檔案系統:GFS是GOOGLE實現的是一個可擴充套件的分散式檔案系統,用於大型的、分散式的、對大量資料進行訪問的應用。它運行於廉價的普通硬體上,但可以提供容錯功能。它可以給大量的使用者提供總體效能較高的服務。欲瞭

centos6.8+nginx搭建簡單的https服務器

centos nginx 搭建簡單 這裏nginx搭建https服務器,必須幾個要求,第一有安裝openssl-devel,當然這個沒有貌似編譯添加ssl模塊會出錯。那如果編譯有不會的可以參考我前面的博客,當然baidu和google上資料也很多。1、確認nginx服務器能正常運行

CentOS6.8 安裝配置以svnadmin管理svn代碼庫

http管理svn庫 svnadmin一、系統環境及說明CentOS6.8_X64subversion版本 1.8.15svn是版本控制軟件,雖然git大用替代它的趨勢,但不可否則還有很多老用戶喜歡它,及svn有一個好用的功能hooks鉤子功能。後面再說這個hooks的用處。1、準備repo$cat /etc

()centos6.8安裝配置ftp服務器

服務 配置ftp服務器 () 控制 原理 文件結構 連接 centos6 安裝 ftp傳輸原理 客戶端通過某軟件用某個端口(a端口)向服務端發起tcp連接請求,同時告訴服務端客戶端另一個空閑端口號(b端口),服務端用21端口與客戶端建立一條控制連接通道。 接著在默認情況下,

centos6.8服務器配置之MYSQL配置

whereis root -i community for 查看密碼 rpm安裝 mysql配置 eas 1、rpm安裝方式順序: 下載: wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-communi

centos6.8服務器配置之vsftpd配置

nss 登錄 方式 config _for 兩種 add vuser DDU vsftpd: version 2.2.2一、安裝:因對版本要求不高,所以采用yum安裝 yum install -y vsftpdckconfig vsftpd on 二、配置:

centos6.8服務器配置之編譯安裝PHP、配置nginx

功能 配置說明 函數 true option pcre c語言 php.ini get php version 5.6.31、nginx version: nginx/1.10.2 1、下載: wget http://cn2.php.net/distribution

centos6.8安裝mysql並配置遠程登陸

配置 server ack span body 改密 mmu pos spa 1.wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm 2.yum install mysql-community-re

CentOS6.8 下MySQL5.6.29主從復制架構配置

centos6.8 mysql 主從復制準備工作 服務器1:IP:192.168.4.58 操作系統CentOS6.8 數據庫:MySQL5.6服務器1:IP:192.168.4.88 操作系統CentOS6.8 數據庫:MySQL5.6 主從配置的前提條件 1、MySQL版本一致2、MySQL中的數據一致3