目标:
- 新建一个站点,域名为chat.example.com
- 将80端口转发到127.0.0.1:1338
- 设置访问密码
就是要简单粗暴,什么LNMP太麻烦。
然后,懂的都懂。😃
假设Apache2已经安装好了。
1. 安装相关软件并配置proxy
sudo apt install -y openssl apache2-utils
sudo a2enmod proxy
sudo a2enmod proxy_http
2. 创建用户访问密码:
用户名testuser
sudo htpasswd -c /etc/apache2/htpasswd testuser
然后会提示输入密码。-c
参数将创建一个新文件。
如果是在原有基础上添加新用户时,请移除-c
参数,否则会覆盖原有文件。
3. 创建配置文件
sudo nano /etc/apache2/sites-available/chat.example.com.conf
内容如下:
<VirtualHost *:80>
ServerName chat.example.com
ProxyPass / http://127.0.0.1:1338/
ProxyPassReverse / http://127.0.0.1:1338/
<Location />
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/htpasswd
Require valid-user
</Location>
</VirtualHost>
4. 启用新的虚拟主机配置
sudo a2ensite chat.example.com.conf
5. 重新加载Apache配置使更改生效
sudo systemctl restart apache2
提示:如果最开始未启动proxy,这里可能会提示
Job for apache2.service failed.
通过systemctl status apache2.service
命令查看详细信息,会看到Invalid command 'ProxyPass', perhaps misspelled or defined by a module
的错误提示。