我浏览了无数帖子,但似乎找不到答案。我在 ubuntu 22.04 上使用 apache。我可以打开“https://webapp.sb.sf.org”,但我只希望别名能够正常工作,即“ht...
我浏览了无数帖子,但似乎找不到答案。我在 ubuntu 22.04 上使用 apache。我可以打开“https://webapp.sb.sf.org”,但我只希望别名能够工作,即“https://webapp”。当我在浏览器中打开“https://webapp”时,我在网页上收到以下消息 Invalid host_name configuration。error.log 中没有显示任何错误,access.log 下也没有任何有用的信息,即使我将 LogLevel 设置为调试。DNS 工作正常,我可以解析短名称“webapp”和 fqdn“webapp.sb.sf.org”。我已配置反向代理。发现一些帖子说别名无法与反向代理一起使用,但解决方案不起作用。这是我的配置
Include /etc/webapp/addons/apache2/includes/server/*.conf
IncludeOptional /etc/webapp/addons/apache2/custom/server/*.conf
LogLevel debug
<VirtualHost *:80>
ServerName webapp.sb.sf.org
ServerAlias webapp
RewriteEngine On
RewriteRule ^/?(.*) https://%{SERVER_NAME}:443/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName webapp.sb.sf.org
ServerAlias webapp
DocumentRoot /opt/webapp/public
ProxyRequests off
ProxyPreserveHost On
Include /etc/webapp/addons/apache2/includes/vhost/*.conf
IncludeOptional /etc/webapp/addons/apache2/custom/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>
问题是由于 Apache 没有权限访问您的主目录。以下是修复方法:
创建新目录:
sudo mkdir /var/www/TestSite
sudo chown -R $USER:www-data /var/www/TestSite
sudo chmod -R 775 /var/www/TestSite
移动你的项目:
mv ~/TestSite /var/www/
更新 Apache 配置:更新 /etc/apache2/sites-enabled/TestSite.conf:
Apache 配置:
<VirtualHost *:80>
ServerName 85.215.209.167
DocumentRoot /var/www/TestSite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /var/www/TestSite/static
<Directory /var/www/TestSite/static>
Require all granted
</Directory>
Alias /media /var/www/TestSite/files/media
<Directory /var/www/TestSite/files/media>
Require all granted
</Directory>
<Directory /var/www/TestSite/Soundrise>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias / /var/www/TestSite/Soundrise/wsgi.py
WSGIDaemonProcess django_app python-home=/var/www/TestSite/django_env python-path=/var/www/TestSite
WSGIProcessGroup django_app
</VirtualHost>
重新启动Apache:
通过将项目移出主目录并确保适当的权限,部署问题应该可以得到解决。