Apache配置HTTPS协议
linuxapacheTomcat配置SSL(https)步骤

linuxapacheTomcat配置SSL(https)步骤1. https简介它是由Netscape开发并内置于其浏览器中,⽤于对数据进⾏压缩和解压操作,并返回⽹络上传送回的结果。
HTTPS实际上应⽤了Netscape的安全套接字层(SSL)作为HTTP应⽤层的⼦层。
(HTTPS使⽤端⼝443,⽽不是象HTTP那样使⽤端⼝80来和TCP/IP进⾏通信。
)SSL使⽤40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。
HTTPS和SSL⽀持使⽤X.509数字认证,如果需要的话⽤户可以确认发送者是谁。
也就是说它的主要作⽤可以分为两种:⼀种是建⽴⼀个信息安全通道,来保证数据传输的安全;另⼀种就是确认⽹站的真实性。
2. HTTPS和HTTP的区别 ⼀、https协议需要到ca申请证书,⼀般免费证书很少,需要交费。
⼆、http是超⽂本传输协议,信息是明⽂传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使⽤的是完全不同的连接⽅式,⽤的端⼝也不⼀样,前者是80,后者是443。
四、http的连接很简单,是⽆状态的;HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、⾝份认证的⽹络协议,⽐http协议安全。
3. SSL介绍为Netscape所研发,⽤以保障在Internet上数据传输之安全,利⽤数据加密(Encryption)技术,可确保数据在⽹络上之传输过程中不会被截取及窃听。
⽬前⼀般通⽤之规格为40 bit之安全标准,美国则已推出128 bit之更⾼安全标准,但限制出境。
只要3.0版本以上之I.E.或Netscape浏览器即可⽀持SSL。
当前版本为3.0。
它已被⼴泛地⽤于Web浏览器与服务器之间的⾝份认证和加密数据传输。
SSL协议位于TCP/IP协议与各种应⽤层协议之间,为数据通讯提供安全⽀持。
SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建⽴在可靠的传输协议(如TCP)之上,为⾼层协议提供数据封装、压缩、加密等基本功能的⽀持。
apachehttps配置详细步骤讲解

apachehttps配置详细步骤讲解SSL: SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和⽹站服务器之间的数据是安全。
也就是说在SSL下http 传输是安全的,我们成为 https.配置过程如下:1.安装配有SSL模块的apache,apache_2.2.8-win32-x86-openssl-0.9.8g2.配置apache以⽀持SSL:打开apache的配置⽂件conf/httpd.conf1)LoadModule ssl_module modules/mod_ssl.soInclude conf/extra/httpd-ssl.conf去掉两⾏前⾯的#2)注意修改httpd-ssl.conf ⽂件⾥的两个字段:SSLCertificateFile "C:/Apache2.2/conf/server.crt"SSLCertificateKeyFile "C:/Apache2.2/conf/server.key"3.安装php,整合apache和Php(略)为下⾯你所⽣成的证书和密钥地址。
1. ⽣成服务器的私钥进⼊命令⾏:D:\local\apache2\bin\openssl genrsa -out server.key 1024在当前⽬录下⽣成了⼀个server.key⽣成签署申请2. ⽣成签署申请D:\local\apache2\bin>openssl req -new –out server.csr -key server.key -config ..\conf\f此时⽣成签署⽂件server.csr.1.⽣成CA私钥D:\local\apache2\bin\openssl genrsa -out ca.key 1024多出ca.key⽂件2.利⽤CA的私钥产⽣CA的⾃签署证书D:\local\apache2\bin\openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\f此时需要输⼊⼀些信息,注意Common Name为服务器域名,如果在本机,为本机IP。
Linux Apache 的 HTTPS 配置

Linux Apache 的 HTTPS 配置我以前在 Windows 上配置过Apache的 SSL/HTTPS 双向认证,即对 Web 服务器与浏览器同时进行认证,而建立的 HTTPS 安全连接。
最近,我在 Linux 下也配置了下Apache的 HTTPS,并将配置过程和遇到的问题记录了一下。
配置环境∙Web 服务器系统:VMware Workstation 6.0.2,Debian Linux 5.0.2,kernel=2.6.26-2-686∙Web 服务器:Apache 2.2.9-10∙Web 浏览器系统:Windows XP Professional∙Web 浏览器:Firefox 3.0.11Linux Apache的基本配置现在 Linux 下较新的Apache配置,要比 Windows 下的配置方便、灵活的多。
比如,我的 Debian 5 下的Apache2 包安装后,就将Apache的配置文件放在:/etc/apache2目录下,并按照 Linux 下经典的:xxx-available,xxx-enabled,xxx.d目录来组织配置文件,看到这里有没有想到 Emacs 的配置文件组织方式呢?(*^_^*)。
玩 Linux 的人看到这里,大多都能猜地出 Linux Apache是怎么组织的。
下面简单列举一下Apache配置文件的组织结构:∙apache2.conf:Apache的入口配置文件,包含其它配置文件的主控文件∙conf.d/:包含一些零碎的配置,一般不和具体的 mod 相关,是全局性质的,比如:字符集 charset、安全选项 security。
∙ports.conf:设置Apache的监听端口,默认时,HTTP 为 80,HTTPS 为443。
∙envvars:导出一些环境变量,比如:∙export APACHE_RUN_USER=www-data∙export APACHE_RUN_GROUP=www-data∙export APACHE_PID_FILE=/var/run/apache2.pid∙httpd.conf:额外的用户设置的配置,默认里面内容为空。
阿里云服务器apache配置SSL证书成功开启Https(记录趟过的各种坑)

阿⾥云服务器apache配置SSL证书成功开启Https(记录趟过的各种坑)环境:步骤:申请证书(某度很多教程的,⼤家⾃⾏搜索)上传证书登陆阿⾥云控制台=》安全(云盾)=》CA证书服务=》上传原有证书(也可以直接买阿⾥云的证书,这样就不⽤上传,不过个⼈⽹站⼀般是申请免费的证书)开启服务器443端⼝(https默认端⼝)阿⾥云控制台=》云计算基础服务=》云服务器ECS=》⽹络和安全=》安全组,没有安全组的创建⼀个安全组,有的直接选择相应安全组,点击配置规则=》添加安全组规则(把80端⼝和443端⼝添加进安全组,授权对象填0.0.0.0/0)开启apache相应配置#修改httpd.conf⽂件LoadModule ssl_module modules/mod_ssl.soInclude conf/extra/httpd-ssl.confLoadModule rewrite_module#去掉上⾯三⾏前的"#"保存退出在apache⽬录下的conf⽬录下新建⼀个cert⽬录,将你的证书⽂件放在这⾥⾯开启php的openssl模块,在phpstudy的“php扩展及设置”⾥⾯开启即可修改httpd-ssl.conf⽂件,保存退出在..\Apache\conf\extra⽬录下,打开httpd-ssl.conf⽂件(注:先备份⼀遍,以免出错,因为这个⽂件的错误我重装phpstuy不下10回)在⽂件⾥定位到 Listen 443 这句话这⾥,把从这句话到这个⽂件结尾的⽂本全部注释掉或者删除掉,替换成以下代码Listen 443 //这⾥强调⼀下,如果Listen 443这句代码在这个⽂件⾥重复出现了,即重复监听,apache会报错,然后不能启动SSLStrictSNIVHostCheck offSSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULLSSLProtocol all -SSLv2 -SSLv3<VirtualHost *:443>#这⾥的路径设置你的⽹站根⽬录DocumentRoot "C:\phpStudy\PHPTutorial\WWW"#这⾥替换成你的域名ServerName #这⾥替换成你的域名ServerAlias #这⾥的路径设置你的⽹站根⽬录<Directory "C:\phpStudy\PHPTutorial\WWW">Options FollowSymLinks ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire all granted</Directory>SSLEngine on#你的公钥⽂件SSLCertificateFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.crt"#你的私钥⽂件(有的机构命名为private或者以你的域名为⽂件名命名)SSLCertificateKeyFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.key"#证书链⽂件(有的机构命名为CA)我尝试过注释掉这个选项,结果apache不能运⾏SSLCertificateChainFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/chain.crt"</VirtualHost>重启apache,看看能不能正常启动,如果有异常,尝试把第4步中httpd-ssl.conf代码恢复注释(把#重新加上去,保存退出),再次重启apache,如果此时能够正常启动,则说明httpd-ssl.conf⽂件中有错误(是不是重复监听了?证书路径对不对?证书是否有效?),请认真检查,直到能够正常启动apache打开hosts⽂件我的hosts⽂件在C:\Windows\System32\drivers\etc⽬录下⽤记事本打开,在127.0.0.1 localhost下⾯添加⼀句话:127.0.0.1 //这⾥替换成你的域名保存退出保存退出重启apache启动浏览器检查是否可以访问localhost 及你的域名,并且域名头部标志为https。
ubuntu下apache配置https且强制http转向为https

ubuntu下apache配置https且强制http转向为https1.ubuntu下的apache2安装sudo apt-get install apache2首先ubuntu下apache文件分布和windos下不一样我通过apt-get安装- 默认站点在 /var/www/- 配置文件在 /etc/apache2/- 日志在 /var/log/apache/- 启动脚本是 /etc/init.d/apache2其中 etc/apache2中的配置文件又有几个文件夹与文件apache2.conf:Apache的主要配置文件,包含全局配置。
envvars:Apache2环境变量设置。
ports.conf:配置Apache监听的端口。
mods-available:这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。
mods-enabled:持有/etc/apache2/mods-available目录下文件的链接,当该目录下有一个模块文件和其配置文件,那么Apache 重启后该模块将生效。
sites-available:这个目录包含Apache虚拟主机的配置文件。
虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。
后面下面配置的时候会配置80端口的http重定向为443的https。
sites-enabled:持有/etc/apache2/sites-available目录下文件的链接。
当Apache重启后,该目录中包含的站点将会被激活。
2.ssl配置安装opensslsudo apt-get install openssl开启ssl模块输入sudo a2enmod ssl无效则输入下面两个命令sudo ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.loadsudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf获取证书百度一下就能知道,我因为用的腾讯云,直接在腾讯云上一件申请了一年的免费证书会有3个文件1_root_bundle.crt2_xxx.crt3_xxx.key配置HTTPS(SSL)1.进入/etc/apache2/ports.conf查看是否有Listen 80Listen 443没有就添加上去2.配置ssl虚拟站点上文安装完后,会在/etc/apache2/sites-available/目录下生成一个缺省的default-ssl文件。
Apache2.2 openssl配置Https应用

Apache2.2 openssl配置Https应用1、关于Apache网上有很多关于Apache配置Http,Https 的帖子,写的各式各样大同小异。
但说到都比较浅,至少我感觉没有说明白原理。
当然,这里我也只是针对我现在的理解来说一下Apache Https那些事。
通常我们开发的web项目都要部署在weblogic中间件上,然后为了网络安全,在停火区搭建web server用于请求转发。
最常用的web server之一就是Apache。
如果是金融领域的应用的话,基本上都是要配置Https的,以防敏感数据被窃取。
Apache有很多版本,有些版本只能配置Http的应用,要想配置Https的话,需要下载专门的Apache,我这里用的是:httpd-2.2.21-win32-x86-openssl-0.9.8r.msi,使用这个软件可以自制证书,可以配置Https。
(虽然是32位的,也可以安装在64位的windows上,我也没找到专门的64位软件)。
2、关于证书部署Https应用需要证书,可以自制也可以购买。
当然,如果你的应用是公司级的又是金融领域的,那基本上要购买了,比如天威诚信的证书。
因为自制证书可能被黑客替换,用户体验也不好每次浏览器都会提示不安全证书。
自制证书步骤:进入D:\Apache2.2\bin执行以下命令:#生成rsa私钥opensslgenrsa -des3 -out root.key#配置环境变量,制定openssl.cfg配置文件的路径setOPENSSL_CONF=C:\cert\OpenSSL-Win64\bin\openssl.cfg#生成CA的crt,用来签署下面的root.csr文件,有效期10年openssl req -new -x509 -key root.key -out ca.crt -days 3650#生成的csr文件交给CA签名后形成服务器自己的证书.重要:有一个common name可以写域名,如果为了https申请,这个必须和域名吻合,否则会引发浏览器报警openssl req -new -key root.key -out root.csr#输入key的密钥后,完成证书生成.-CA 选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成.#最后生成了私用密钥:root.key 和自己的SSL证书root.crtopenssl x509 -req -days 3650 -in root.csr -CA ca.crt -CAkey root.key -CAcreateserial -out root.crt#证书合并:cat root.key root.crt > root.pem #linuxcopy /b /y root.key+root.crt root.pem #windows#统一接入网关密码设置为:admin123C:\cert\OpenSSL-Win64\bin>openssl pkcs12-export -in root.pem -inkey root.key -out root.pfx3、配置Https背景:Weblogic10.3.6,Apache2.2 ,windows2008EnterpriseApache安装在D://Apache2.2,weblogic安装在Redhat6上。
Linux下apache配置https方法教程

Linux下apache配置https方法教程Linux下apache怎么配置https访问,Linux下apache配置https方法教程,apache配置https方法步骤介绍。
1.安装Openssl要使Apache支持SSL,需要首先安装Openssl支持。
下载Openssl:/source/ ;tar -zxf openssl-1.0.1h.tar.gz //解压安装包;cd openssl-1.0.1h //进入已经解压的安装包;./config //配置安装,推荐使用默认配置;make && make install //编译及安装;openssl默认将被安装到/usr/local/ssl当然这里的路径也可以指定安装路径;2. 安装Apache./configure --prefix=/usr/local/apache --enable-so --enable-ssl--with-ssl=/usr/local/ssl --enable-mods-shared=all //配置安装,推荐动态编译模块。
make&& make install动态编译Apache模块,便于模块的加载管理。
Apache 将被安装到/usr/local/apache3.申请证书去沃通WoSign官网申请一张EV SSL证书,申请成功后,会得到一个有密码的压缩包文件,输入证书密码后解压得到五个文件:forApache、forIIS、forNgnix、forTomcat、forOther Server,这个是证书的几种格式,Apache上需要用到forApache格式的证书。
4.安装ssl证书a、打开apache安装目录下conf目录中的httpd.conf文件,找到#LoadModulessl_module modules/mod_ssl.so#Includeconf/extra/httpd_ssl.conf删除行首的配置语句注释符号“#”保存退出。
Apache+PHP配置HTTPS(Windows Server 2016 x64)

下载地址PHP:/download#Releases选择x64 Thread Safe,Zip格式Apache:https:///download/https://aka.ms/vs/15/release/VC_redist.x64.exe(VC库,下载完后直接双击安装)存储结构C:\NJ\Apache\PHP\MySQL\Web\WordPressPHP1.打开PHP目录下的"php.ini-production"文件,另存为"php.ini"。
2. 修改插件目录(搜索关键词: extension_dir)extension_dir = "C:\NJ\PHP\ext"ApacheP:每个需要编写的配置文件,在操作前,都先将该配置文件内的所有"c:/Apache24"替换为"C:/NJ/Apache"1.打开"C:\NJ\Apache\conf\httpd.conf",修改参数"ServerName"、"ServerAdmin"。
(若没有注册ServerName处域名可填写IP,若填写局域网IP则只有局域网用户可访问。
)2. 修改参数"DocumentRoot"(网站的根目录)DocumentRoot "C:/NJ/Web"<Directory "C:/NJ/Web">3.找到LoadModule区域,添加如下信息:(注意查看PHP目录下的dll文件版本)LoadModule php7_module C:\NJ\PHP\php7apache2_4.dllPHPIniDir "C:\NJ\PHP"<FilesMatch "\.(php|phtml|html|htm)$">SetHandler application/x-httpd-php</FilesMatch>4. 修改默认检索index.html为index.php。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Apache配置HTTPS协议搭载SSl配置全过程
1.安装必要的软件
从Apache官方()下载必要的ApacheHttpServer安装包,可以直接官方提供的绑定openssl的apache.文件名是:
httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi(我用的是Apache2.2.15for windows的版本,你可以点击此处下载最新的版本进行安装,最好选择含有openssl版本的哦)
否则单独安装windows下的openssl比较麻烦,要么找到一个第三方的编译结果,要么自己编译
安装完毕后检查检查在Apache安装路径的bin下是否有以下文件:
openssl.exe
ssleay32.dll
libeay32.dll
2. 生成服务器证书
安装好在bin目录下有一个openssl.exe文件,用来生成证书和密钥。
1). 生成服务器用的私钥文件server.key
(注:在Windows操作系统环境下需先设置Openssl环境变量:在DOS命令下进入conf目录,执行命令行:set OPENSSL_CONF=..\conf\f;请在执行之前确保f存在,否则会出现:WARNING: can't open config file: /usr/local/ssl/f 信息提示。
还有在windows系统下.cnf 默认会被当成快捷方式,看不到扩展名。
)
在DOS命令下进入bin目录,执行命令行
命令:openssl genrsa 1024> server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件>是输出文件的标识符这种生成方法生成的是没有密钥的私钥文件,当然,Apache提供了加入密钥(Password)的命令,就是加入参数-des3,全部的命令为:
命令:openssl genrsa 1024-des3 > server.key
使用 openssl genrsa -des3 > 1024 server.key生成私钥文件是需要输入密钥的,运行的时候会让你输入并确认你的密钥,但是在Windows环境下会导致以下错误:
错误:Apache启动失败,错误提示是:Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file .....)
原因是window下的apache不支持加密的私钥文件。
可不使用des3加密。
注:生成的证书中RSA密钥对的默认长度是1024,取值是2的整数次方。
建议使用4096以上。
图解:
1.切换到bin目录
2.设置环境变量
3.生成server.key
2). 生成未签署的server.csr
进入bin目录,执行命令行
命令:openssl req -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步会有很多参数,需要一一输入
按提示输入一系列的参数,
Country Name (2 letter code) [AU]:CN ISO国家代码(只支持两位字符)State or Province Name (full name) [Some-State]:ZJ所在省份
Locality Name (eg, city) []:HZ所在城市
Organization Name (eg, company):SW_TECH公司名称
Organizational Unit Name (eg, section) []:SW_TECH组织名称
Common Name (eg, YOUR name) []:申请证书的域名
Email Address []:admin@ 管理员邮箱
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: 交换密钥
An optional company name []: 注:Common Name必须和httpd.conf中server name必须一致,否则apache不能启动(启动apache时错误提示为:RSA server certificate CommonName (CN) `Kedou' does NOT match server name!? )3). 签署服务器证书文件server.crt
进入bin目录,执行命令行
命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天,x509表示生成的为X.509证书。
以上签署证书仅仅做测试用,真正运行的时候,应该将CSR发送到一个CA 返回真正的用书.网上有些文档描述生成证书文件的过程比较繁琐,就是因为他们自己建立了一个CA中心证书,然后再签署server.csr.
用openssl x509 -noout -text -in server.crt可以查看证书的内容。
证书实际上包含了Public Key.
图解:
生成CSR
生成CRT
3. 配置httpd.conf.
在conf目录下的httpd_ssl.conf文件是关于ssl的配置,是httpd.conf的一部分,在 httpd.conf中找到给文件的引用,移除对应的注释
找到一个443的虚拟主机配置项,如下:
<VirtualHost _default_:443>
SSLEngine On
SSLCertificateFile ../bin/server.crt
SSLCertificateKeyFile ../bin/server.key
#SSLCertificateChainFile ../bin//ca.crt // 暂未启用
#......
DocumentRoot "D:/programs/Apache2.2/htdocs"
ServerName :443
</VirtualHost>
移除注释行
LoadModule ssl_module modules/mod_ssl.so
这样所有的都可以通过HTTPS访问了,但是如果你想保留其他目录的访问仍然是http,那么你应该把
<VirtualHost _default_:443> 也改为 <VirtualHost :443> 此时,即便ServerName是任意的,系统仍然正常运行,仅仅Apache log
提示"does NOT match server name"
注意到ssl.conf的配置都在标签<IfDefine SSL>中,所以为了使IfDefine 指
令有效,运行apache 的时候要加上 -D SSL 参数。
apache -D SSL -k start。