Cấu hình virtual host apache2
Note lại cấu hình virtual host cho khỏi quên :D!
Tạo file cấu hình
1 | cd /etc/apache2/sites-available |
Nội dung file blog.local.conf
sẽ như sau:
1 | <VirtualHost *:80> |
Enable cấu hình này
1 | sudo a2ensite blog.local.conf |
Đăng kí nó vào DNS trên máy local
1 | sudo vi /etc/hosts |
Thêm dòng này vào nhé1
127.0.0.1 blog.local
Sau đó restart lại apache1
sudo service apache2 restart
Thế là xong rồi đó, bật trình duyệt và vào http://blog.local để kiểm tra thôi :D
Cấu hình ssl
Để cấu hình ssl và proxy hoạt động, bạn cần enable một số module không được enable mặc định trong Apache
Với ssl là module ssl
1 sudo a2enmod ssl
Và với proxy là các module proxy
1
2
3 sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_connect
Đôi khi là cả module headers nếu báo lỗi param RequestHeader
1 sudo a2enmod headers
Sinh chứng thư số
Để cấu hình ssl, trang web sử dụng phương thức https, bạn cần đăng kí thêm chứng thư số cho trang web.
Cách 1: Sử dụng lệnh openssl
1 | sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt |
Định dạng
key
vàcrt
có thể dạng.pem
Cách này tạo chứng thư số nhanh chóng, do openssl
đã hỗ trợ sẵn trên các hệ điều hành Linux. Tuy nhiên với cách này, chứng thư số sẽ không đáng tin cậy trên trình duyệt do đó bạn load trang web https có thể cảnh báo.
Cách 2: sử dụng mkcert
Để chứng chỉ đáng tin cậy, bạn có thể sử dụng mkcert, bạn phải cài thêm nó:
1 | $ mkcert -install |
Cấu hình https
Normal configuration
Về cơ bản https bạn chỉ cần mở thêm 1 cổng 443 kèm theo đường dẫn chứng thư số:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<VirtualHost *:443>
ServerAdmin admin@blog.local
DocumentRoot /var/www/html/blog/public
ServerName blog.local
ServerAlias www.blog.local
<Directory /var/www/html/blog/public>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# SSL config
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/blog/blog.local.pem
SSLCertificateKeyFile /etc/apache2/ssl/blog/blog.local-key.pem
ErrorLog ${APACHE_LOG_DIR}/blog_error.log
CustomLog ${APACHE_LOG_DIR}/blog_access.log combined
</VirtualHost>
Khởi động lại apache21
sudo service apache2 restart
Bạn có thể test ứng dụng tại: https://blog.local
Proxy configuration
1 | <VirtualHost *:443> |
_N.V.M_
Cấu hình virtual host apache2
http://yoursite.com/2020/05/29/Cau-hinh-virtual-host-apache2/