Debian下使用HTTPS访问WordPress

由于未知原因,VPS最近总是被reset, 经过一番探索,发现ssh能连,dig域名解析正确,但只要访问http就会reset, 直接ip访问没有问题,那么只能是域名被干了。按说我就是自己写写博客,顶多发发生活上的牢骚,不知道怎么就触到校长大人的G点了。

忍了几天终于不能忍了,决定设法解决。首先想到换个域名,但上name.com一搜,稍微看上眼的基本都在10刀左右,为了校长已经花了不少钱了,再花钱不值得。然后想到了HTTPS, 实用还安全,就它了。

那么要想强制Wordpress使用HTTPS访问,要经过两个步骤,一是启用HTTPS访问,二是让Wordpress走HTTPS.

第一步是配置Apache2使用HTTPS. 因为我只是想绕过gfw, 就用自签名的SSL吧。主要参考了这篇文章。原文的步骤很清晰,我这里只罗列一下步骤

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -in server.csr -signkey server.key -out server.crt

以上步骤对应文章里的Step1-Step4, 也就是生成了自签名的key. 接下来要配置debian的Apache2

a2enmod ssl
a2ensite default-ssl
mkdir -p /etc/apache2/ssl
cp server.key /etc/apache2/ssl/ssl.key
cp server.crt /etc/apache2/ssl/ssl.crt
chmod 400 /etc/apache2/ssl/*

a2enmod ssl之后debian会给你一个提示,告诉你去读一下/usr/share/doc/apache2/README.Debian.gz, 建议看一下,那里用的make-ssl-cert命令进行自签名的。

接下来编辑 /etc/apache2/sites-enabled/default-ssl 找到SSLCertificateFile和SSLCertificateKeyFile字段,修改为自己的路径 /etc/apache2/ssl/ssl.xxx, 然后

/etc/init.d/apache2 restart

重启apache就好了。

第二步是让Wordpress使用HTTPS访问。这里用到一个Wordpress插件,WordPress HTTPS ms这个插件没什么好说的,安装后会出现一个HTTPS配置选项,根据自己的需求配置一下,再用https访问就好了……

现在VPS只能全局默认https了,输入http也会自动转为https访问输入http ms还不能自动转到https上来,这个需要再看一下。目前只有两个问题,一个因为是自签名,第一次访问会有警告,据说chrome下问题更大;第二个问题是访问明显变慢,不过没办法了,总比被墙了的好。

Leave a Reply