Articles of 虚拟主机

Apache与suexec,fcgid通过SSL显示错误的vHost内容

我将我的Apache安装程序更改为工作模式,suexec和fcgid,如本教程中所述: https ://wiki.hetzner.de/index.php/Apache_PHP5_fcgi_und_SuExec。 几乎一切正常。 我写了一个脚本,它为我设置了一切,并创build了证书,并使用ssl创build了vHostconfiguration。 您可以在下面看到一个典型的文件。 当我访问端口80上的服务器,一切工作正常。 当我通过https访问它时,使用来自pad.dblx.io的正确证书,而是显示默认vHost(dblx.io)的内容。 我现在正在search几个小时的错误,但找不到configuration错误。 你可以帮我吗? cat /etc/apache2/sites-available/pad.dblx.io <VirtualHost *:80> ServerAdmin xxx ServerName pad.dblx.io ServerAlias pad.dblx.io *.pad.dblx.io SuexecUserGroup xxx xxx AddHandler fcgid-script .php DocumentRoot "/var/www/pad.dblx.io/www" DirectoryIndex index.htm index.html index.php <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/var/www/pad.dblx.io/www"> Options Indexes MultiViews FollowSymLinks +ExecCGI FCGIWrapper /var/www/pad.dblx.io/php-fcgi/php-fcgi-starter .php AllowOverride All Order allow,deny allow […]

只允许访问Apache 2configuration中的一个虚拟主机,拒绝所有其他虚拟主机

假设在一个简化的情况下,我有一个服务器托pipe在Apache 2下的一个虚拟主机,我希望任何其他尝试通过IP或任何其他主机访问服务器被拒绝。 此外,我想尝试通过HTTP访问虚拟主机redirect到HTTPS。 假设主机是myhost.company.com,所以情况是: https://myhost.company.com应该工作 http://myhost.company.com应该redirect到https://myhost.company.com 主机,IP等任何其他的networking访问应该被拒绝 这似乎是不应该太难做(应该吗?),但迄今为止,我已经能够使其工作的唯一方法是通过定义主机和redirect,然后发送所有其他stream量到一些虚拟已被手动禁止的服务器上的目录。 我希望能够在Apacheconfiguration中做到这一点,如果可能的话。 是吗? 在我的所有其他尝试,“拒绝”等,它仍然允许通过其他IP /主机访问。 谢谢!

Apache ssl代理不需要的redirect

我正在运行的Ubuntu的服务器12.04。 我想要通过apache ssl代理来保护对python应用程序的访问。 我有 sudo a2ensite erp.mydomain.com 我在/ etc / hosts中 127.0.0.1 mydomain.com erp.mydomain.com – http://erp.mydomain.comredirect到 – https://erp.mydomain.com 行 – https://erp.mydomain.com代理到 – https://erp.mydomain.com/web/webclient/home 行 – http://mydomain.com在/ var / www / OK中进入我的常规网站 https://mydomain.comredirect到http://mydomain.com/web/webclient/home导致错误:“在此服务器上找不到请求的URL / web / webclient / home。 不好 我不明白这个redirect,任何指针都会有所帮助。 这是我的erp.mydomain.com文件: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName erp.mydomain.com Redirect / https://erp.mydomain.com/ DocumentRoot /var/www <Directory /> Options […]

如何在apache下的documentroot下创build别名

我正在尝试创build一个bin文件夹,可访问文档根目录下的virutalhost。 我目前通过mysite.local / bin访问该文件夹,但需要文件在公共访问下。 httpd.conf文件 Alias /bin/ "C:/wamp/www/bin/" <Directory "bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> vhost.conf <VirtualHost *:80> ServerName mysite.local DocumentRoot "c:/wamp/www/mysite.com/html" </VirtualHost> 理论上文件树应该读取 /mysite.com /html <– where mysite.com reads from /bin /other private folders 这样的url文件:mysite.com实际path:mysite.com/html/index.php可以读取这样的内容: <?php include "../bin/privatefile.php"; ?>

nginx服务器设置问题

我必须在centos 6.3机器上设置Kayako服务器..我用php5.3和其他所需的东西安装nginx,一切正常。 所以我复制了kayako文件到: /var/www/nginx-default/kayako/setup 并编辑我的虚拟主机为(完整文件): server { listen 80; server_name XXX.XXX.com; location /kayako { root /var/www/nginx-default/; index index.php; } } 然后,当我使用浏览器打我的域名: http : //XXX.XXX.com/kayako/setup/它开始下载文件名称“downlaod”,并不显示任何内容。 和我的错误日志文件是空白.. 请告诉我发生了什么问题? vi nginx.conf: user nginx; worker_processes 4; error_log /var/log/nginx/error.log; #error_log /var/log/nginx/error.log notice; #error_log /var/log/nginx/error.log info; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main […]

指向所有域的nginx:8080

ive按照这里的指令在子域上安装了redmine> http://library.linode.com/web-applications/project-management/redmine/ubuntu-10.04-lucid它实际上并没有工作,但另一个故事。 我主要关心的是任何时候我去anything.domain.com我被定向到相同的事情,(redmine / nginx)。 什么抛出我是如果我有一个子域运行/用virtualmin创build,这工作正常。 它似乎只是端口8080是一个catchall,我更喜欢catchall是端口80的Apache,所以它可以说“你没有权限”。 这里是我的虚拟主机(我也使用localhost:8080而不是域名,似乎没有区别。 <VirtualHost 50.116.11.1:80> ServerAdmin [email protected] ServerName proj.domain.com ProxyPass / http://proj.domain.com:8080/ ProxyPassReverse / http://proj.domain.com:8080/ # Uncomment the line below if your site uses SSL. SSLProxyEngine On </VirtualHost> 或者也许即时通讯在错误的地方做这个? 谢谢!

如何避免在Apache2 VirtualHosts中的多个Directory指令中重复允许/拒绝访问控制语句?

在Apache2上,我有一个包含多个访问控制语句的<Directory>指令/部分的VirtualHost 即 <Directory /foo> Order Deny,Allow Deny from all Allow from … Allow from … … </Directory> … 有没有办法指定更高级别的访问控制(在<Directory>之上)? 或者我应该使用macros? 提前致谢!

让Apache在局域网上提供服务

我在大学连接到局域网,IP地址为172.16.123.12 。 我试图在Apache服务器上部署一个瓶子应用程序,以便整个校园都能看到这个网站。 我已经使用mod_wsgi成功部署了应用程序,但无法在局域网上工作。 它在localhost/flask上正常工作,但我不能访问http://127.0.1.1/flask或http://172.16.123.12/flask上的网站,但是“It works”apache页面可以从http://127.0.1.1和http://172.16.123.12 这里是我的虚拟主机conf的烧瓶网站 – <VirtualHost *:80> ServerName localhost WSGIDaemonProcess flask_test threads=5 WSGIScriptAlias /flask /var/www/flask_test/flask.wsgi ErrorLog "/var/www/flask_test/error.log" CustomLog "/var/www/flask_test/access.log" combined <Directory /var/www/flask_test> WSGIProcessGroup flask_test WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> </VirtualHost> 主机文件: 127.0.0.1 localhost 127.0.1.1 Linux 我试图改变我的ipaddress ServerName,但无济于事。 有人能让我知道我要去哪里吗? 万分感谢! 从apapch2ctl -S输出 /usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not […]

在Nginx中为虚拟主机使用共享的404页面

我想在我的虚拟主机上使用共享的404页面。 以下是我的设置。 两个站点,每个都有自己的configuration文件在/ sites-available /和/ sites-enabled / www.foo.com bar.foo.com www目录设置为: www/ foo.com/ foo.com/index.html bar.foo.com/ bar.foo.com/index.html shared/ shared/404.html 除了根目录和服务器名称之外,/ sites-available中的两个configuration文件都是相同的: root /var/www/bar.foo.com; index index.html index.htm index.php; server_name bar.foo.com; location / { try_files $uri $uri/ /index.php; } error_page 404 /404.html; location = /404.html { root /var/www/shared; } 我已经尝试了上面的代码,并尝试设置error_page 404 /var/www/shared/404.html (没有以下位置块)。 我也双重检查,以确保我的权限设置为775所有文件夹和www中的文件。 当我尝试访问一个不存在的页面时,Nginx会提供我试图访问的虚拟主机的index.php文件。 任何人都可以指出我做错了什么? 谢谢!

虚拟主机与重写子域

是否有最佳做法(出于性能原因或以其他方式)select使用虚拟主机还是重写将子域指向根目录中的文件夹? 也就是说, www.domain.com -> public_html/domain.com/ sub.domain.com -> public_html/sub.domain.com/ 以上操作可以通过设置两台虚拟主机或者使用一台虚拟主机来完成,只需设置一个重写指向正确的子目录即可。 我的问题最初涉及到Apache,但是我想知道是否有最佳的Nginx的服务器块的做法。