证书申请过程这里不介绍,apache证书文件包含以下:

1_root_bundle.crt # 证书文件
2_xxx.xxx.xxx.crt # 证书文件
3_xxx.xxx.xxx.key # 私钥文件

配置证书

在这里,我假设你已经会配置基本的/etc/apache2/sites-available/000-default.conf这个文件来达到已经可以通过 http 的方式来访问你的站点。

编辑/etc/apache2/sites-available/default-ssl.conf添加如下配置:

SSLEngine on
ServerName www.domain.com

SSLCertificateChainFile /etc/apache2/ssl/2_xxx.xxx.xxx.crt
SSLCertificateKeyFile /etc/apache2/ssl/3_xxx.xxx.xxx.key
SSLCertificateFile /etc/apache2/ssl/1_root_bundle.crt

http自动跳转至https

/etc/apache2/sites-available/000-default.conf中添加一下代码:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]

使用https

终端中使能apache2的ssl模块:

a2enmod ssl

重启apache2:

service apache2 restart

以上,网站即可通过https访问


反向代理

若需要使用域名/目录这种方式访问即设置反向代理

例如在我的网站中,使用www.domain.com/wss来代理服务器中65318端口中的ws服务
000-default.conf中添加:

SSLProxyEngine on
ProxyRequests Off
ProxyPass /wss ws://127.0.0.1:65318
ProxyPassReverse /wss ws://127.0.0.1:65318