在Apache2下启用SSL(https)

  这是一份快速教程,并没有顾及到方方面面,敬请谅解。
自签证书

a2enmod ssl
mkdir /etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key

  第一行用来启用Apache2的ssl模块,第三行用来生成一个自签名证书。

配置Apache2使用自签证书
  编辑”/etc/apache2/ports.conf”,确保有ip:443这样的设置,默认启用ssl模块后系统会自动添加。

NameVirtualHost 12.34.56.78:443

  编辑VirtualHost文件:

<VirtualHost 12.34.56.78:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
……
</VirtualHost>
  前三行是设置启用SSL和设置证书位置,接下来按照正常的站点设置就可以了,可以参考《VPS建站LAMP 101》。
  最后重启Apache就可以了。

如果你对Linode有兴趣可以用这个地址注册:http://www.linode.com/?r=2423bd4b1aea90e0163241cd71513fe1b81108d3或者在注册的referral code中填2423bd4b1aea90e0163241cd71513fe1b81108d3,大约在三个月后我能得到一些好处,当然你直接跑去注册也没问题,以上链接并不会给你带来更多的优惠(当然也没什么坏处)。我个人在这里提供一个首月返还$10的Promo Code:storecrowd,这个是实在的优惠。

12 Responses to “在Apache2下启用SSL(https)”

  • kDolphin says:

    你用http访问会有白窗口吗?我没用过glype不是很清楚,不过看到glype的forum上很多人说白窗口的事,并不限于https。

  • ym says:

    设置成功,非常感谢。

  • ym says:

    我之所已想要设置https证书,是为了在我的网站的子目录下上传glype,不过当我访问https://www.mydomain.com/glype时,glype的界面倒是出来了,不过当我在glype的界面里输入某个被封的网址,然后点击go后,展示的却是一个空白页面,不知为何?

  • ym says:

    是不是跟csr有关?我看你的代码没涉及csr

  • ym says:

    我上传phproxy后,使用正常,可能真的是glype本身的问题

  • kDolphin says:

    nginx就不用单独写了吧,就在server块里加上下面这些,最后两项后跟得内容和apache的一样就行了。

    listen 443;
    ssl on;
    ssl_certificate
    ssl_certificate_key

  • ym says:

    hi.博主这篇文章很有用。我设置apche下的https和lighttpd下的https都成功了,但nginx下的https就是搞不定,看了网上很多文章还是不行。博主可否也写篇nginx下如何设置https的文章?

  • messfeel.cn says:

    我也正在学drupal,刚会玩,还没深入修改设置过 呵呵
    因为合租要到期了,也决定入手linode 可是刚学了两天的ubuntu 发现应该是debian 和centos做主机
    于是今天下载完了 发现vps是不带图形界面的。。。
    我刚还在查找拨号上网的命令呢 — —#
    希望获得博主的帮助!
    不然,我就只能入手dia的主机了~~~~

  • kDolphin says:

    vps因为资源的问题一般不建议使用图形界面,当然事实上你可以安装图形界面用VNC来链接。
    如果你对linux不熟悉,建议你还是暂时先不要购买vps。

  • ym says:

    HI.
    在debian vps下成功的配置了ssl.但我在centos vps下运行命令:a2enmod ssl时出错,提示:-bash: a2enmod: command not found
    怎么回事?centos vps下没这个命令吗?centos vps下该如何配置呢?

  • ym says:

    已google到解决办法

Leave a Reply

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).