每次新加子域名时都会忘了咋搞,写个备忘录记录一下。其实就是apache2的rewrite功能。
进入apache安装目录的站点目录(一般在/etc/apache2/sites-available),然后新建文件,如我要新建子域名为draw的,于是我创建draw.endermite.cn.conf。键入以下内容:
<VirtualHost *:443>
ServerName draw.endermite.cn
SSLEngine on
SSLCertificateFile 你的crt文件路径
SSLCertificateKeyFile 你的key文件路径
# SSLCertificateChainFile 你的chain.crt文件路径,无可以注释
# ... (SSL 强化设置可以与上面相同) ...
# 强化 SSL 设置 (推荐)
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
ProxyPreserveHost On
ProxyPass / http://localhost:你的端口/
ProxyPassReverse / http://localhost:你的端口/
ErrorLog ${APACHE_LOG_DIR}/code-server_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/code-server_ssl_access.log combined
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:你的WebSocket端口/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:你的主要服务端口/$1 [P,L]
</VirtualHost>
<VirtualHost *:80>
# 设置主机名
ServerName draw.endermite.cn
# 如果你也希望根域名 endermite.cn 也重定向,可以添加 ServerAlias
#ServerAlias endermite.cn
# 核心配置:将所有请求永久重定向到 HTTPS 版本
Redirect permanent / https://draw.endermite.cn/
# 可选:记录日志,便于排查问题
ErrorLog ${APACHE_LOG_DIR}/www_redirect_error.log
CustomLog ${APACHE_LOG_DIR}/www_redirect_access.log combined
</VirtualHost>
接下来,在bash中使用命令:
a2ensite draw.endermite.cn.conf
systemctl reload apache2
完成!

Comments NOTHING