ฉันต้องการใช้งานการกำหนดค่า apache2 ด้วย http://openproject.example.com และ httpส://example.com (บล็อกเวิร์ดเพรส)
การกำหนดค่าของฉัน:
/etc/apache2/sites-enabled/wordpress.conf
<VirtualHost *:80>
ServerAdmin admin@HOSTNAME_HERE.com
DocumentRoot /var/www/HOSTNAME_HERE/wordpress/
Redirect / https://HOSTNAME_HERE.com/
<Directory /var/www/HOSTNAME_HERE/wordpress/>
Options +FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/etc/apache2/conf-enabled/wordpress.conf
นามแฝง /wordpress /var/www/HOSTNAME_HERE/wordpress
<ไดเรกทอรี /var/www/HOSTNAME_HERE/wordpress>
ตัวเลือก FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php.c>
<IfModule mod_mime.c>
แอปพลิเคชัน AddType/x-httpd-php .php
</หากโมดูล>
<FilesMatch ".+\.php$">
โปรแกรม SetHandler/x-httpd-php.ini
</FilesMatch>
</หากโมดูล>
</ไดเร็กทอรี>
<ไดเรกทอรี /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType พื้นฐาน
</หากโมดูล>
ต้องการผู้ใช้ที่ถูกต้อง
</หากโมดูล>
</ไดเร็กทอรี>
<ไดเรกทอรี /usr/share/phpmyadmin/libraries>
ต้องการปฏิเสธทั้งหมด
</ไดเร็กทอรี>
<ไดเรกทอรี /usr/share/phpmyadmin/setup/lib>
ต้องการปฏิเสธทั้งหมด
</ไดเร็กทอรี>
ใช้ได้กับ SSL ผ่าน
/etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@HOSTNAME_HERE.com
ServerName ip.address.of.hostname
DocumentRoot /var/www/HOSTNAME_HERE/wordpress/
<Directory /var/www/HOSTNAME_HERE/wordpress/>
Options +FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384...
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets off
SSLCertificateFile /etc/apache2/ssl/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/pkey.key
SSLCertificateChainFile /etc/apache2/ssl/chain-ca.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
/etc/apache2/sites-enabled/openproject.conf
<VirtualHost *:80>
ServerName openproject.example.com
DocumentRoot /opt/openproject/public
ProxyRequests off
Include /etc/openproject/addons/apache2/includes/vhost/*.conf
# Can't use Location block since it would overshadow all the other proxypass directives on CentOS
ProxyPass / http://127.0.0.1:6000/ retry=0
ProxyPassReverse / http://127.0.0.1:6000/
</VirtualHost>
/etc/openproject/addons/apache2/includes/vhost/openproject.conf
ชื่อเซิร์ฟเวอร์ openproject.example.com
เปลี่ยนเส้นทางถาวร / http://example.com/
ชื่อเซิร์ฟเวอร์ openproject.example.com
ผู้ดูแลระบบเซิร์ฟเวอร์ [email protected]
DocumentRoot /opt/openproject/public
ProxyRequests ปิด
ProxyPass / http://127.0.0.1:6000/ ลองใหม่=0
ProxyPassReverse / http://127.0.0.1:6000/
<ตำแหน่งที่ตรงกัน "^/sys">
<IfModule mod_authz_core.c>
ต้องการท้องถิ่น
</หากโมดูล>
<IfModule !mod_authz_core.c>
สั่งซื้อปฏิเสธอนุญาต
ปฏิเสธจากทั้งหมด
อนุญาตจาก 127.0.0.1
</หากโมดูล>
</LocationMatch>
นามแฝง /assets /opt/openproject/public/assets
นามแฝง /uploads /opt/openproject/public/uploads
<ไดเรกทอรี "/opt/openproject/public">
ตัวเลือก -ดัชนี
<IfModule mod_authz_core.c>
ต้องได้รับอนุญาตทั้งหมด
</หากโมดูล>
<IfModule !mod_authz_core.c>
คำสั่งปฏิเสธอนุญาต
อนุญาตจากทั้งหมด
</หากโมดูล>
</ไดเร็กทอรี>
ProxyPass /ทรัพย์สิน/ !
<สถานที่ /ทรัพย์สิน/>
ขนาดไฟล์ETag
ExpiresActive On ExpiresDefault "การเข้าถึงบวก 1 ปี"
</สถานที่>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
หมดอายุเปิดใช้งานเมื่อ
ExpiresDefault "การเข้าถึงบวก 1 ปี"
</FilesMatch>
AddOutputFilterByType ข้อความ DEFLATE/ข้อความ html/css แอปพลิเคชัน/x-javascript แอปพลิเคชัน/javascript
ErrorLog /var/log/apache2/openproject.example.com-error.log
เมื่อผมไป https://example.com ทุกอย่างทำงานได้ตามที่คาดไว้
เมื่อผมไป http://openproject.example.com ทุกอย่างทำงานได้ตามที่คาดไว้
น่าเสียดาย http://example.com แสดงแอปพลิเคชัน openproject และโดเมนย่อยอื่นๆ ทั้งหมด เช่น http://noteexisting.example.com
กฎสำหรับ http://example.com จะถูกเปลี่ยนเส้นทางไปที่ https://example.com
จะกำหนดค่าตามที่คาดไว้ได้อย่างไร