gpt4 book ai didi

apache - HTTPD 与其他虚拟主机冲突

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:41 24 4
gpt4 key购买 nike

这是位于用户 directAdmin 目录中的 httpd.conf 文件

# Auto generated apache config file by DirectAdmin version 1.42.1
# Modifying this file is not recommended as any changes you make will be
# overwritten when the user makes any changes to his/her website

# For global config changes that affect all Users, see this guide:
# http://help.directadmin.com/item.php?id=2
# For local config changes that only affect one User, see this guide:
# http://help.directadmin.com/item.php?id=3

# Frontpage requires these parameters in every httpd.conf file or else
# it won't work.
ServerRoot /etc/httpd




<VirtualHost 91.239.206.147:80 >
ServerName www.duri.ge
ServerAlias www.duri.ge duri.ge

Alias /media/ /home/duri/domains/duri.ge/public_html/media/
Alias /static/ /home/duri/domains/duri.ge/public_html/assets/

<Directory /home/duri/domains/duri.ge/public_html/assets>
Order deny,allow
Allow from all
</Directory>

<Directory /home/duri/domains/duri.ge/public_html/media>
Options +Includes +Indexes
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias / /home/duri/domains/duri.ge/python/sites/duri.ge/duri/wsgi-production.py
WSGIDaemonProcess duri.ge user=duri group=duri python-path=/home/duri/domains/duri.ge/python/sites/duri.ge:/home/duri/domains/duri.ge/python/virtualenvs/duri_env/lib/python2.7/site-packages
WSGIProcessGroup duri.ge

<Directory /home/duri/domains/duri.ge/python/sites/duri.ge/duri>
<Files wsgi-production.py>
Order deny,allow
Allow from all
</Files>
</Directory>


ServerName www.duri.ge
ServerAlias www.duri.ge duri.ge
ServerAdmin webmaster@duri.ge
DocumentRoot /home/duri/domains/duri.ge/public_html


UseCanonicalName OFF

<IfModule !mod_ruid2.c>
SuexecUserGroup duri duri
</IfModule>
<IfModule mod_ruid2.c>
RMode config
RUidGid duri duri
RGroups apache access
</IfModule>

CustomLog /var/log/httpd/domains/duri.ge.bytes bytes
CustomLog /var/log/httpd/domains/duri.ge.log combined
ErrorLog /var/log/httpd/domains/duri.ge.error.log






<Directory /home/duri/domains/duri.ge/public_html>
Options +Includes -Indexes


php_admin_flag safe_mode OFF


php_admin_flag engine OFF
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f duri@duri.ge'


php_admin_value open_basedir /home/duri/:/tmp:/var/tmp:/usr/local/lib/php/


</Directory>



</VirtualHost>

<VirtualHost 91.239.206.147:80>
ServerName www.mywedding.duri.ge
ServerAlias www.mywedding.duri.ge mywedding.duri.ge
DocumentRoot /home/duri/domains/duri.ge/public_html/mywedding
ErrorLog /var/log/httpd/domains/duri.ge.mywedding.error.log
CustomLog /var/log/httpd/domains/duri.ge.mywedding.bytes bytes
CustomLog /var/log/httpd/domains/duri.ge.mywedding.log combined
</VirtualHost>

#<VirtualHost 91.239.206.147:80 >
#Alias /media/ /home/duri/domains/duri.ge/public_html/media/
#Alias /static/ /home/duri/domains/duri.ge/public_html/assets/

#<Directory /home/duri/domains/duri.ge/public_html/assets>
# Order deny,allow
# Allow from all
#</Directory>

#<Directory /home/duri/domains/duri.ge/public_html/media>
# Options +Includes +Indexes
# Order deny,allow
# Allow from all
#</Directory>

#WSGIScriptAlias / /home/duri/domains/duri.ge/python/sites/duri.ge/duri/wsgi-production.py
#WSGIDaemonProcess duri.ge user=duri group=duri python-path=/home/duri/domains/duri.ge/python/sites/duri.ge:/home/duri/domains/duri.ge/python/virtualenvs/duri_env/lib/python2.7/site-packages
#WSGIProcessGroup duri.ge

# <Directory /home/duri/domains/duri.ge/python/sites/duri.ge/duri>
# <Files wsgi-production.py>
# Order deny,allow
# Allow from all
# </Files>
# </Directory>


# ServerName www.mywedding.duri.ge
# ServerAlias www.mywedding.duri.ge mywedding.duri.ge
# ServerAdmin webmaster@duri.ge
# DocumentRoot /home/duri/domains/duri.ge/public_html/mywedding


# UseCanonicalName OFF

# <IfModule !mod_ruid2.c>
# SuexecUserGroup duri duri
# </IfModule>
# <IfModule mod_ruid2.c>
# RMode config
# RUidGid duri duri
# RGroups apache access
# </IfModule>

# CustomLog /var/log/httpd/domains/duri.ge.mywedding.bytes bytes
# CustomLog /var/log/httpd/domains/duri.ge.mywedding.log combined
# ErrorLog /var/log/httpd/domains/duri.ge.mywedding.error.log






# <Directory /home/duri/domains/duri.ge/public_html/mywedding>
# Options +Includes -Indexes

# php_admin_flag safe_mode OFF


# php_admin_flag engine OFF
# php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f duri@duri.ge'


# php_admin_value open_basedir /home/duri/:/tmp:/var/tmp:/usr/local/lib/php/


# </Directory>



#</VirtualHost>



#<VirtualHost 91.239.206.147:80 >
#Alias /media/ /home/duri/domains/duri.ge/public_html/media/
#Alias /static/ /home/duri/domains/duri.ge/public_html/assets/

#<Directory /home/duri/domains/duri.ge/public_html/assets>
# Order deny,allow
# Allow from all
#</Directory>

#<Directory /home/duri/domains/duri.ge/public_html/media>
# Options +Includes +Indexes
# Order deny,allow
# Allow from all
#</Directory>

#WSGIScriptAlias / /home/duri/domains/duri.ge/python/sites/duri.ge/duri/wsgi-production.py
#WSGIDaemonProcess duri.ge user=duri group=duri python-path=/home/duri/domains/duri.ge/python/sites/duri.ge:/home/duri/domains/duri.ge/python/virtualenvs/duri_env/lib/python2.7/site-packages
#WSGIProcessGroup duri.ge

# <Directory /home/duri/domains/duri.ge/python/sites/duri.ge/duri>
# <Files wsgi-production.py>
# Order deny,allow
# Allow from all
# </Files>
# </Directory>


# ServerName www.test.duri.ge
# ServerAlias www.test.duri.ge test.duri.ge
# ServerAdmin webmaster@duri.ge
# DocumentRoot /home/duri/domains/duri.ge/public_html/test


# UseCanonicalName OFF

# <IfModule !mod_ruid2.c>
# SuexecUserGroup duri duri
# </IfModule>
# <IfModule mod_ruid2.c>
# RMode config
# RUidGid duri duri
# RGroups apache access
# </IfModule>

# CustomLog /var/log/httpd/domains/duri.ge.test.bytes bytes
# CustomLog /var/log/httpd/domains/duri.ge.test.log combined
# ErrorLog /var/log/httpd/domains/duri.ge.test.error.log






# <Directory /home/duri/domains/duri.ge/public_html/test>
# Options +Includes -Indexes
#
# php_admin_flag safe_mode OFF
#

# php_admin_flag engine OFF
# php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f duri@duri.ge'


# php_admin_value open_basedir /home/duri/:/tmp:/var/tmp:/usr/local/lib/php/


# </Directory>



#</VirtualHost>

这是位于/etc/httpd/conf 中的 httpd.conf

#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.

ServerRoot "/etc/httpd"
Listen 80

#LoadModule dummy_module /usr/lib/apache/mod_dummy.so
#LoadModule php5_module /usr/lib/apache/libphp5.so
LoadModule ruid2_module /usr/lib/apache/mod_ruid2.so
Include /etc/httpd/conf/extra/httpd-phpmodules.conf
#LoadModule SocketPolicyServer /usr/lib/apache/mod_socket_policy_server.so
#LoadModule socket_policy_server_module /usr/lib/apache/mod_socket_policy_server.so
LoadModule wsgi_module /usr/lib/apache/mod_wsgi.so

User apache
Group apache

ServerAdmin admin@localhost
DocumentRoot "/var/www/html"

# Options and AllowOverrides
Include conf/extra/httpd-directories.conf

<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.phtml index.cgi
</IfModule>

<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>

ErrorLog /var/log/httpd/error_log
LogLevel warn

<IfModule log_config_module>
#replace %b with %O for more accurate logging
<IfModule mod_logio.c>
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%O %I" bytes

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>

CustomLog /var/log/httpd/access_log common
</IfModule>

<IfModule alias_module>
# Include some DirectAdmin alias
Include conf/extra/httpd-alias.conf
</IfModule>

DefaultType text/plain

<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-gzip .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType video/x-ms-asf .avi
AddType video/mpeg .mpg
AddType video/mpeg .mpeg
AddType video/quicktime .mov
AddType video/x-ms-wmv .wmv
</IfModule>

#EnableMMAP off
#EnableSendfile off

#######################################################################################
# For user configurations not maintained by DirectAdmin. Empty by default.
#######################################################################################

Include conf/extra/httpd-includes.conf


#######################################################################################
# Do not change anything in included files, because they are rewritten by DirectAdmin #
#######################################################################################

# This is needed for PHP
Include conf/extra/httpd-php-handlers.conf

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf

# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings
Include conf/extra/httpd-autoindex.conf

# Language settings
Include conf/extra/httpd-languages.conf

# User home directories
#Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

# Virtual hosts
Include conf.d/wsgi.conf

# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf

# Various default settings
Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf

# Deflate module settings
Include conf/extra/httpd-deflate.conf

# All the DirectAdmin vhosts
Include conf/extra/directadmin-vhosts.conf

# All suPHP directives
#Include conf/extra/httpd-su[5~php.conf

#######################################################################################
# End of included files that are rewritten by DirectAdmin #
#######################################################################################

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

#<IfModule mod_socket_policy_server.c>

#Listen 8889
#<VirtualHost *:8889>
# SocketPolicyServer On
# SocketPolicyFile /var/www/html/crossdomain.xml
# AdobePolicyFileServerEnabled On
#</VirtualHost>
# </IfModule>

首先在 root 上有一个 python 代码。然后通过 directAdmin 我添加了两个子域,test 和 mywedding 以便与 php 一起使用。

问题是如果我不评论那些新添加的行,apache 将不会启动。然后我直接添加了virtualhost,没有directAdmin。

<VirtualHost 91.239.206.147:80>
ServerName www.mywedding.duri.ge
ServerAlias www.mywedding.duri.ge mywedding.duri.ge
DocumentRoot /home/duri/domains/duri.ge/public_html/mywedding
ErrorLog /var/log/httpd/domains/duri.ge.mywedding.error.log
CustomLog /var/log/httpd/domains/duri.ge.mywedding.bytes bytes
CustomLog /var/log/httpd/domains/duri.ge.mywedding.log combined
</VirtualHost>

这一行,但问题是子域“mywedding.duri.ge”不断重定向到(不是通过 http,而是在内部)python。

最佳答案

您的第一个虚拟主机 block 没有定义 ServerName,因此它无法知道哪些请求是针对它的,哪些请求是针对下一个虚拟主机 block 的。由于它无法区分,因此它接受并响应所有请求。添加一个与第二个 block 中的服务器名称(和别名)不同的服务器名称。

参见文档 here .

IP-based virtual hosts use the IP address of the connection to determine the correct virtual host to serve. Therefore you need to have a separate IP address for each host. With name-based virtual hosting, the server relies on the client to report the hostname as part of the HTTP headers. Using this technique, many different hosts can share the same IP address.

下面是一个虚拟主机示例,它对向 www.example.comwww.another.com 发出的请求做出不同的响应。希望你能找到你的问题:

# This line is probably in /etc/apache2/ports.conf, if it is uncommented you do
# not need to repeat it.
NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.example.com

DocumentRoot /tmp/example.com

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /tmp/example.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName www.another.com

DocumentRoot /tmp/another.com

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /tmp/another.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>

我放了两个文件,一个在/tmp/example.com/index.html,另一个在/tmp/another.com/index.html内容。当我请求文件时,我能够看到不同的内容:

$ curl http://www.another.com/index.html
another

$ curl http://www.example.com/index.html
example

您需要将这些条目添加到您的 /etc/hosts 文件才能发出请求:

127.0.0.1 www.example.com www.another.com

关于apache - HTTPD 与其他虚拟主机冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com