1

我想做的是从任何有互联网连接的地方开发一个网站。显而易见的答案是注册一个网络主机并选择一个域(例如 project1.shoreline-development.com 或其他)。但是,理想情况下,我不希望其他人能够看到该站点的内容,因为我需要查看错误消息等,因此需要一个身份验证层才能让我查看我的网站,并且其中它可能需要特定于网站软件的自己的身份验证方法。

这样的事情存在吗?

谢谢。

编辑:2013 年 9 月 11 日 11:22

我相信我需要澄清以下几点:我想在任何机器上使用 Web 浏览器和 winscp 或等效工具(最好只是 Web 浏览器)等工具进行开发工作。例如,我希望能够在坐在火车上时使用手机进行开发,或者在我拜访父母时使用我的旧笔记本电脑,或者我从别人那里借来的电脑,或者网吧,或者我的工作电脑. 发布的解决方案适用于 localhost 开发环境(这是可以理解的,因为我之前没有指定这部分)并且只有在我在那台计算机上设置了 apache 服务器后才能工作。

对造成的误解深表歉意,感谢您迄今为止的帮助。

4

3 回答 3

0

.htaccess提供了一种简单的方法来做到这一点。

于 2013-01-09T10:32:21.647 回答
0

这就是您想要的(认为您正在浏览http://localhost/test-dir1/并且您希望其他人看不到此页面)

.htaccess File Creation: 

$ cd  /var/www/html/test-dir1

$ vi  .htaccess

将以下行写入此文件:

AuthName "Authorized Users Only."

AuthType Basic

AuthUserFile /etc/httpd/conf/.htpasswd

require user testusr

你也可以放入VirtualHost

于 2013-01-09T10:38:39.857 回答
0

我正在使用 apache2 的 http 身份验证和授权,以限制每个 IP 或每个用户/密码的访问:

如果您设置虚拟主机,解决方案将如下所示:

<VirtualHost *:80>
    DocumentRoot "/path/to/document/root"
    ServerName subdomain.domain.tld        
    <Directory "/path/to/document/root">
            #Uncomment the following if you want restrict access per IP
            #Order Deny,Allow
            #Deny from all
            #Allow from A.B.C.D
            AuthName "Authorized Personel Only"
            AuthType Basic
            AuthUserFile "/Path/to/your/httpasswd/file"
            require valid-user

            allow from all
            Options +Indexes
    </Directory>
    ErrorLog        /var/log/apache2/domain.error.log
    CustomLog       /var/log/apache2/domain.access.log combined  
</VirtualHost>
于 2013-01-09T10:39:24.000 回答