用Windows AD域给Apache签发证书

因为在内网搭建一些一些应用网站,一直没空的用的http。但是我这个骚操作,网上竟然没有类似案列。随手写一写,做个备忘。

1,把Windows的证书颁发机构角色安装好,IIS服务管理器当然也是要安装好的。安装好后,到IIS管理器去创建证书申请。如下图

2,创建好申请,下载好证书后,再从上图这里右侧点击完成证书申请,选择刚才下载的证书文件,友好的名称自己随便。

3,完成之后再选择,刚导入的证书。选择它导出,然后提示你设置密码。导出的是个pfx文件。这一步是要得到key文件。

4,最后你就得到了pfx证书文件。然后用下面的命令转换你需要的crt、key文件

 (1)openssl pkcs12 -in  xxx.pfx -nodes -out server.pem

  (2)从.pem文件中导出私钥server.key:
  openssl rsa -in server.pem -out server.key 

  (3)从.pem文件中导出证书server.crt
  openssl x509 -in server.pem -out server.crt

V2ray WebSocket TLS Setting Apache设置 网站共存

网上一大堆教程,但就是没有与网站共存的方法。有也是错误的。故此写一篇。

1,请先安装好V2ray,用官方的go.sh

2,复制如下内容到你的/etc/v2ray/config.json。

{
    "log" : {
      "access": "/var/log/v2ray/access.log",
      "error": "/var/log/v2ray/error.log",
      "loglevel": "warning"
  },
    "inbound": {
      "port": 28989,
      "listen":"127.0.0.1",
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "a7373f7b-fa58-4eed-bda2-89f19c02c8b4",
            "level": 1,
            "alterId": 90
          }   
          ]
      },
      "streamSettings":{
        "network":"ws",
        "wsSettings":{
          "path":"/ray"
          }
        }
      },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
    },
  "outboundDetour": [
    {
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
    }
  ]
}

3,安装好apache,最新的。在你的/etc/httpd/conf.d/下创建以你网站命名的.conf文件。自己替换相应内容即可。或者复制如下内容。

<VirtualHost *:443>
    DocumentRoot "/var/www/html/"
    ServerName 90.life
    ServerAlias www.90.life
    DocumentRoot /var/www/html/
    <Directory /var/www/html/>
       AllowOverride All
    </Directory>
SSLCertificateFile /etc/letsencrypt/live/90.life/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/90.life/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/90.life/chain.pem
SSLEngine On
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*)           ws://localhost:28989/$1 [P,L]
SSLProxyEngine On
Proxypass /ray http://127.0.0.1:8989
ProxyPassReverse /ray http://127.0.0.1:28989
</VirtualHost>

4,后面的配置和其他正常一样。如果开启了selinux。请执行下这个

setsebool -P httpd_can_network_connect 1