前言:
眼前同学们对“apache403禁止访问”大约比较注意,姐妹们都需要剖析一些“apache403禁止访问”的相关文章。那么小编同时在网络上网罗了一些有关“apache403禁止访问””的相关文章,希望你们能喜欢,兄弟们快快来学习一下吧!有时会想在外网访问家中的IPTV电视直播,把家里的IPTV直播做了外网转发,可以从互联网访问家里的IPTV电视直播。IPTV家庭网络打通及相关配置可以参考笔者之前的文章。
实现外网转发后,可以通过iptv服务的动态域名(下文中iptv服务的动态域名用 iptv.domain.ddns 示例,实际使用需要代替成您自己实际使用的iptv动态域名)来访问家里IPTV电视直播,比如下面的地址格式:
在互联网上在电脑上使用IPTV播放器即可远程访问家中的IPTV电视直播节目。
使用起来是很方便,但无意中发现总有人会在互联网上扫描家里的IPTV电视直播服务。自家的宽带小水管可承受不起太多人的使用。怎么避免这样的扫描和滥用呢?一个简单的方法是在家庭路由器上设置反向代理,通过反向代理来访问家中的IPTV电视直播。在反向代理上设置一个简单用户名密码认证,必须使用正确的用户名密码才能访问家中的IPTV电视直播。这时上面的访问地址就会变成:
这里的用户名密码是自己配置的,可以随时更改。反向代理的端口号(8118)也是配置的。
家里用的是OpenWrt的路由器,23.05的版本。使用的是nginx做反向代理,下面是配置的过程。
一、在路由器安装nginx, 替代原来的uhttpd做Web服务器及用作反向代理
选择使用nginx来作反向代理,没必要在路由器上运行两个Web服务器,索性就把默认的uhttpd替换成nginx,路由器的管理控制台也使用nginx。当然替代不是必须的。
安装代替很简单,在OpenWrt管理界面的软件包中,先更新列表,然后搜索安装 luci-nginx 就可以了,系统会自动安装对应的依赖包。
如何使用命令行,使用下面命令:
opkg updateopkg install luci-nginx二、配置nginx反向代理,使用动态域名创建iptv虚拟主机
nginx的配置在 /etc/nginx 目录下。默认已经配置好OpenWrt的管理Web服务器。可以在 /etc/nginx/conf.d 下创建自己扩展的Web服务器。在 /etc/nginx/conf.d目录创建一个 iptv.conf 配置文件,内容如下:
server_names_hash_bucket_size 64;server { listen 8118; listen [::]:8118; server_name _default_iptv; return 403;}server { listen 8118; listen [::]:8118; server_name iptv.domain.ddns; location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/user.pass; proxy_pass ; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}
配置文件中的一些关键说明:
配置中使用8118作为iptv虚拟主机的访问端口,可以使用其它空闲端口。配置中同时监听了ipv4及ipv6的地址,您可以根据自己实际情况修改。需要把 iptv.domain.ddns 代换成您自己实际使用的动态域名 是内网中iptv组播转单播服务地址,也需要代换成您家里实际的iptv转发服务地址配置文件中的 /etc/nginx/user.pass 是访问认证用的用户密码文件,下面会讲如何创建。配置文件中第一个 server 配置是为8118端口设置的一个默认虚拟主机。如果用扫描软件通过ip或者不正确的域名访问, 比如访问 , 会返回403禁止访问。这样也避免外面的iptv服务扫描。三、生成认证用的用户密码配置文件 /etc/nginx/user.pass
需要使用htpasswd命令生成用户密码文件,htpasswd命令在系统中不存在,可以通过安装 apache-utils 包安装,可以在软件包管理界面中安装,也可以通过下面命令安装:
opkg updateopkg install apache-utils
安装完成后,使用下面命令创建user.pass文件,再创建一个iptvuser用户:
cd /etc/nginxhtpasswd -c user.pass iptvuser
系统会提示为iptvuser用户设置密码,输入确认密码即可。
四、设置防火墙规则,允许从外网访问iptv虚拟主机服务
在OpenWrt中创建防火墙通信规则。
整个配置完成后,重新启动nginx服务。
/etc/init.d/nginx restart
服务重启完成后。就可以使用反向代理从外网用动态域名访问家中的iptv电视直播服务了。必须通过配置的域名访问iptv服务,如果访问地址中没有包括用户名密码,比如在电脑上用PotPlayer访问 , 系统会弹出提示用户名密码输入
输入正确用户名密码后,即可正常访问对应的电视直播内容。
可以把用户名密码嵌入到访问地址中,省去访问过程中还需要输入。
可以用这样的地址创建m3u或者txt的播放列表,方便使用。
标签: #apache403禁止访问