镇海网站建设,有什么做任务的网站,网页设计论文引言,wordpress文章首页设置一、实验环境
1、Apache服务介绍
Apache服务#xff0c;也称为Apache HTTP Server#xff0c;是一个功能强大且广泛使用的Web服务器软件。
起源和背景
Apache起源于NCSA httpd服务器#xff0c;经过多次修改和发展#xff0c;逐渐成为世界上最流行的Web服务器软件之一。…一、实验环境
1、Apache服务介绍
Apache服务也称为Apache HTTP Server是一个功能强大且广泛使用的Web服务器软件。
起源和背景
Apache起源于NCSA httpd服务器经过多次修改和发展逐渐成为世界上最流行的Web服务器软件之一。名字“Apache”源自“a patchy server”的读音意味着它是一个充满补丁的服务器这反映了其作为自由软件不断有人为其开发新功能、新特性和修复缺陷的特点。
特点和优势
简单、速度快、性能稳定Apache服务器设计简洁处理请求速度快且性能稳定可靠。跨平台性Apache可以运行在几乎所有的Unix、Windows、Linux等系统平台上具有高度的可移植性。源代码开放Apache是开放源码项目拥有庞大的开发者社区和广泛的用户基础。模块化设计Apache是一个模块化的服务器可以根据需要加载不同的模块来扩展其功能。安全性支持SSL技术提供安全的Web服务。
主要特性
支持最新的HTTP/1.1通信协议。拥有简单而强有力的基于文件的配置过程。支持通用网关接口CGI。支持基于IP和基于域名的虚拟主机。支持多种方式的HTTP认证。集成Perl、Python等处理模块。支持实时监视服务器状态和定制服务器日志。提供用户会话过程的跟踪。支持FastCGI和JavaServlets通过第三方模块。
2、Nginx服务介绍
Nginxengine x是一个高性能的HTTP和反向代理web服务器由C语言编写。
主要特点
轻量级Nginx设计简洁占用内存少能在相同的硬件条件下提供更高的服务能力。高性能Nginx通过其事件驱动、异步非阻塞的架构设计能够高效地处理大量并发连接对于静态文件请求效率极高。使用epollLinux平台或kqueue类BSD系统等高效的I/O多路复用技术来监听和管理连接。进程模型采用“主从”多进程模式其中master进程负责管理和配置更新而worker进程负责实际的请求处理这种设计支持热部署和故障恢复。
优势
并发性能Nginx在处理大量并发连接时表现出色特别是在静态内容处理方面。据称Nginx可以支持对5万个并发连接数的响应而只占用很低的内存资源。稳定性Nginx采用了分阶段资源分配技术使得CPU与内存的占用率非常低。Nginx官方表示Nginx保持1万个没有活动的连接而这些连接只占用2.5MB内存。高可用性Nginx支持热部署启动速度特别迅速因此可以在不间断服务的情况下对软件版本或者配置进行升级几乎可以做到7x24小时不间断地运行。
3、Apache和Nginx的区别
Nginx和Apache各有其独特的特点和优势适用于不同的场景和需求。在选择Web服务器时需要根据自己的业务需求、硬件条件以及团队技术栈等因素进行综合考虑。
3.1 设计理念
1、Nginx 专注于高性能、高并发和轻量级。 采用事件驱动、异步非阻塞的架构设计。 适用于处理静态资源、反向代理和负载均衡等场景。
2、Apache
强调稳定性、功能和安全性。采用进程或线程模型。适用于处理动态内容和复杂的Web应用程序。
3.2 适用场景
1、Nginx
适用于需要高性能、高并发的场景如大型门户网站、视频流媒体等。适合作为反向代理和负载均衡器为后端服务器集群提供前端服务。适合处理静态资源如图片、CSS、JavaScript等。
2、Apache 适用于需要稳定性和强大功能的场景如中小型网站、企业内部网站等。 适合处理动态内容和复杂的Web应用程序。 适用于需要多种语言支持的场景如Perl、Python等。
3.3 性能特点
1、Nginx 高并发性能通过其事件驱动的设计Nginx能够高效地处理大量并发连接尤其是静态文件请求。 低内存消耗Nginx的代码量小内存占用低能在资源受限的系统中运行。 可扩展性支持第三方模块扩展可以根据需要添加新的功能和服务。 热部署支持在不停止服务的情况下进行软件升级、配置更改和日志轮转等操作。
2、Apache
稳定性经过长时间的发展和优化Apache具有出色的稳定性。模块化设计Apache是模块化的服务器可以根据需要加载不同的模块来扩展其功能。动态内容处理对动态请求处理能力强支持多种编程语言如Perl、Python等。
4、传输层安全性TLS
TLS是一种安全协议它建立在网络层之上位于传输层TCP/IP四层模型的传输层和应用层之间。TLS的主要目的是在两个通信应用程序之间提供保密性、数据完整性以及真实性。TLS的前身是安全套接层Secure Sockets LayerSSL。网景公司Netscape在1994年推出首版网页浏览器时推出HTTPS协议以SSL进行加密。后来互联网工程任务组IETF将SSL进行标准化并于1999年公布第一版TLS标准文件。
OpenSSL是一个强大的安全套接字层密码库包含了一个多用途的命令行工具用于实现秘钥证书管理、对称加密、非对称加密等功能。它广泛用于保护计算机网络上的通信免遭窃听同时确认另一端连接者的身份。OpenSSL是SSL和TLS协议的开源实现支持多种平台包括Unix/Linux、Windows、Mac OS等。
工作原理
客户端向服务器发送一个包含客户端支持的TLS版本、加密算法和散列算法等信息的“Client Hello”消息。服务器响应一个“Server Hello”消息包含服务器选择的TLS版本、加密算法和散列算法等信息并发送其数字证书。客户端验证服务器的证书并生成一个预主密钥pre-master secret使用服务器的公钥加密后发送给服务器。服务器使用自己的私钥解密预主密钥双方基于预主密钥和随机数生成会话密钥session key。双方使用会话密钥加密和解密通信数据确保数据的机密性和完整性。
在创建完证书请求后会生成多个文件
/etc/pki/tls/private/xxx.key证书私钥私钥应保持在0600或0400权限。/etc/pki/tls/certs/xxx.csr证书请求将此文件发送给CA以进行签名/etc/pki/tls/certs/xxx.crt公共证书将证书请求发送到CA后返回的证书文件权限应该保持0644
5、实验拓扑
标识Web服务器分公司1分公司2IP地址192.168.110.1/24192.168.110.10/24192.168.120.10/24软件包httpd.x86_64账户信息rootServerrootcompany1rootcompany2
主要配置信息
服务端软件包 httpd.x86_64主配置文件/etc/httpd/conf/httpd.conf服务名httpd.service端口号TCP/80、TCP/443 二、Apache服务配置信息
1、主配置书写格式
查看主配置文件
cat /etc/httpd/conf/httpd.conf在Apache中的配置文件共分为三种类型 全局配置在整个服务器生效 块级配置仅在当前块内生效 虚拟主机配置
Apache语句的书写格式
键值对方式
Listen 80 # Listen为键80为值块级分割内部为键值对方式
Directory / # 通过双标签形式划分块类似HTML格式AllowOverride none # AllowOverride为键none为值Require all denied
/Directory2、 配置文件内容解析
Listen键值的设置Listen只能设置1个否则会出错Listen的值如果设置为IP地址则必须加上端口号
Listen 80 # 监听任意IP地址的80端口包含IPv4和IPv6
Listen 192.168.110.1:80 # 监听192.168.110.1主机上的80端口
Listen 192.168.110.1:8080 # 监听192.168.110.1主机上的8080端口
Listen 0.0.0.0:80 # 监听任意IPv4地址上的80端口
Listen [::0]:80 # 监听任意IPv6地址上的80端口
Listen [2001:db8::2]:80 # 监听IPv6地址2001:db8::2主机上的80端口**ServerRoot键值的设置路径最后不要加上 / **
ServerRoot /etc/httpd # 指定Apache配置文件、日志文件存放的地方Include键值的设置
Include conf.modules.d/*.conf # 将conf.modules.d目录下的 .conf文件内容引入到主配置文件中类似主配置文件的子配置文件User和Group键值的设置
User apache # 指定Apache守护进程使用的用户
Group apache # 指定Apache守护进程使用的用户组ServerAdmin键值的设置
ServerAdmin rootlocalhost # 指定管理员邮箱出现错误时会发送邮件告知管理员DocumentRoot键值的设置
DocumentRoot /var/www/html # 设置主目录的路径EnableSendfile键值的设置
EnableSendfile on # 使用操作系统的内核的sendfile支持来发送文件给客户端ErrorLog和LogLevel键值的设置
ErrorLog logs/error_log # 错误日志的存储位置
LogLevel warn # 日志的级别AddDefaultCharset键值的设置
AddDefaultCharset UTF-8 # 设置默认字符集
AddDefaultCharset Off # 禁用字符集ServerName键值的设置
ServerName www.meaauf.com:80 # 设置服务器主机名称如果该域名存在
ServerName 192.168.10.1:80 # 不存在域名可使用IP地址端口号方式Timeout键值的设置
Timeout 300 # 设置超时时间为300默认为120,超过时间仍无法连接的则按断线处理MaxClients键值的设置
MaxClietns 500 # 设置客户最大连接数3、 目录权限设置
在Apache中通过双标签形式定义目录其中权限语句仅对该目录及其子目录生效
Directory /var/www权限语句...
/Directory权限语句
【.hataccess】文件需要用户手动创建文件书写权限语句
AllowOverride None # 不使用本目录下的文件.htaccess
Require all granted # 允许访问本目录建议目录都加上此权限否则无法访问
Require all denied # 不允许访问本目录
Deny from 192.168.110.10 # 不允许192.168.110.10主机访问
Deny from .meaauf.com # 不允许meaauf.com域主机访问
Deny from 192.168.110.0/24 # 不允许192.168.110.0/24网段主机访问
Order allow,deny # 默认情况下禁止所有客户端访问且设置允许与拒绝权限的优先级关于Order语句的设置
Order allow,deny默认情况下拒绝所有客户端访问如果匹配Allow字段又匹配Deny字段则会生效DenyOrder deny,allow默认情况下允许所有客户端访问如果匹配Allow字段又匹配Deny字段则会生效Allow
具体使用示例
允许所有客户端访问
Order allow,deny
Allow from all拒绝192.168.110.10和来自meaau.com域的客户端访问其它客户端可以正常访问
Order deny,allow
Deny from 192.168.110.10
Deny .meaauf.com仅允许192.168.110.0/24网段的客户端访问其中的192.168.110.10无法访问
Order allow,deny
Allow from 192.168.110.0/24
Deny from 192.168.110.104、文件访问权限设置
在Apache中通过双标签形式定义文件权限其中权限语句仅对匹配的文件生效
以下的定义将拒绝访问文件【.htaccess】和【.htpasswd】
Files .ht* # 匹配文件名以.ht开头的任意字符结尾的文件Require all denied # 拒绝访问
/Files三、安装Apache服务
搜索Apache软件包
dnf search apache安装httpd服务
dnf -y install httpd.x86_64查看httpd的服务名
rpm -ql httpd | grep service启动httpd服务
systemctl enable --now httpd.service调整防火墙规则
firewall-cmd --add-servicehttp --permanent
firewall-cmd --reload新建索引文件
echo Default Page. /var/www/html/index.html修改主配置文件在主配置文件文件中添加一行
ServerName 192.168.110.1:80客户端测试访问
四、虚拟主机的配置
在Web服务器上除了默认站点外的其他站点都称为虚拟主机
1、基于IP地址的虚拟主机
将多个网站绑定在不同的IP地址上访问服务器上不同的IP地址就可以看到不同的网站。
新建子配置文件不直接修改主配置文件方便后续管理
vim /etc/httpd/conf.d/vhost_ip.conf添加虚拟主机配置信息
VirtualHost 192.168.120.1DocumentRoot /var/www/ipServerName 192.168.120.1:80
/VirtualHostDirectory /var/www/ipRequire all grantedAllowOverride None
/Directory
新建目录和索引文件
mkdir /var/www/ip
echo Virtual host based on IP address. /var/www/ip/index.html重新启动httpd服务
systemctl restart httpd.service2、基于域名的虚拟主机
将多个网站绑定在不同的域名上访问不同的域名就可以看到不同的网站。
新建子配置文件不直接修改主配置文件方便后续管理
vim /etc/httpd/conf.d/vhost_domain.conf添加虚拟主机配置信息
需要先给默认主页定义一个虚拟主机否则www.meaauf.com解析后会解析为192.168.110.1页面被转到默认主页去了
VirtualHost 192.168.110.1 # 给默认主页定义虚拟主机DocumentRoot /var/www/htmlServerName 192.168.110.1:80
/VirtualHostVirtualHost 192.168.110.1 # 然后再给域名定义虚拟主机DocumentRoot /var/www/domainServerName www.meaauf.com:80
/VirtualHostDirectory /var/www/domainAllowOverride NoneRequire all granted
/Directory新建目录和索引文件
mkdir /var/www/domain
echo Domain based virtual hosting. /var/www/domain/index.html重新启动httpd服务
systemctl restart httpd.service客户端访问时需要在本机的hosts文件中添加DNS解析
echo 192.168.110.1 www.meaauf.com /etc/hosts3、 基于端口号的虚拟主机
通过给同一个IP地址定义不同的端口号可以实现不同网站的访问。
新建子配置文件不直接修改主配置文件方便后续管理
vim /etc/httpd/conf.d/vhost_port.conf添加虚拟主机配置信息
Listen 8080
VirtualHost 192.168.110.1:8080DocumentRoot /var/www/portServerName 192.168.110.1:8080
/VirtualHostDirectory /var/www/portAllowOverride NoneRequire all granted
/Directory新建目录和索引文件
mkdir /var/www/port
echo Virtual host based on port number. /var/www/port/index.html重新启动httpd服务
systemctl restart httpd.service可以看到无法通过8080端口访问HTTP
查看Web服务器上的httpd服务的监听端口查看是否存在8080端口
netstat -tulnp | grep httpd查看当前防火墙的放行规则虽然放行了http服务但是http服务对应端口为标准的80而非我们自定义的8080还需要放行TCP8080端口
firewall-cmd --list-all防火墙放行TCP8080端口
firewalld-cmd --add-port8080/tcp --permanent
firewalld-cmd --reload客户端再次访问
五、用户身份认证
1、.htaccess文件
【.htaccess】文件是一个访问控制文件用来配置相应目录的访问。按照默认的配置是不会读取目录下的【.htaccess】文件因为默认在权限语句中设置为
AllowOverride none如果要读取【.htaccess】文件则需要将值修改为
AllowOverride AuthConfig这样就可以读取【.htaccess】文件可以采用其他的文件名但是需要修改主配置文件实现。
Files .ht*Require all denied
/Files2、用户身份认证
在Apache中可以采用“整体存取控制”或者“分布式存取控制“来实现用户身份验证。htpasswd命令是Apache的Web服务器内置工具用于创建和更新储存用户名、域和用户基本认证的密码文件。
常用参数
参数作用-c创建一个加密文件-m采用MD5算法对密码进行加密-d采用CRYPT算法对密码进行加密-p不对密码进行加密明文显示-s采用SHA算法对密码进行加密-D删除指定的用户-b同时输入用户名和密码非交互式
【明文创建方式】创建访问用户webuser1密码为redhat加密方式为MD5
htpasswd -cmb /var/www/htpasswd webuser1 redhat【交互式创建方式】创建访问用户webuser2密码为redhat加密方式为明文在原有文件上添加用户无需加-c
htpasswd -p /var/www/htpasswd webuser2修改上述虚拟主机的配置文件
vim /etc/httpd/conf.d/vhost_port.conf修改为以下内容增加用户认证
Require的值也可以书写为【Require user webuser1,webuser2 代表允许访问的用户为webuser1、webuser2】
Listen 8080
VirtualHost 192.168.110.1:8080DocumentRoot /var/www/portServerName 192.168.110.1:8080
/VirtualHostDirectory /var/www/port AuthName Please input your password. # 弹出的认证对话框中的领域名称AuthType Basic # 指定认证类型为HTTP基本认证AuthUserFile /var/www/htpasswd # 指定包含用户名和密码的文件路径需要保证apache用户有权访问Require valid-user # 只有在htpasswd中列出的用户才有权访问
/Directory也可以将权限语句写到本地的.htaccess文件中
vim /var/www/port/.htaccess# 写入下列内容
AuthName Please input your password.
AuthType Basic
AuthUserFile /var/www/htpasswd
Require valid-user# 然后修改虚拟主机配置文件将Directory内容修改
Directory /var/www/portAllowOverride AuthConfig # 使用.htaccess文件
/Directory重启服务
systemctl restart httpd.service客户端访问会弹出输入用户名和密码
输入账号和密码后可以成功访问网页
经过测试发现使用webuser2无法登陆是因为webuser2采用的明文密码的存储方式在平台上会失效。所以尽量避免使用明文密码存储。
六、HTTPS服务器配置
1、安装Apache HTTPD模块
Apache HTTPD需要安装扩展模块才能激活TLS支持。通过安装mod_ssl软件包来安装此模块。
查找mod_ssl软件包
dnf search mod_ssl安装mod_ssl软件包
dnf -y install mod_ssl2、SSL配置文件解析
可以看到在httpd目录下多了一个子配置文件ssl.conf查看SSL主配置文件
rpm -qc mod_sslssl.conf文件内容解析
Listen 443 https # 监听端口为https的443端口
SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog # 当Apache需要SSL私钥的密码时调用httpd-ssl-pass-dialog来获取密码
SSLSessionCache shmcb:/run/httpd/sslcache(512000) # 启用SSL会话缓存使用共享内存缓冲区来存储会话数512000为会话数大小
SSLSessionCacheTimeout 300 # SSL会话缓存的过期时间单位是秒
SSLCryptoDevice builtin # 指定使用内置的加密设备VirtualHost _default_:443 # 定义一个监听443端口HTTPS默认端口的虚拟主机
# General setup for the virtual host, inherited from global configuration # 从全局配置继承的虚拟主机的常规设置
#DocumentRoot /var/www/html # 删除注释可以快捷将默认web站点设置为https
#ServerName www.example.com:443 # 删除注释可以快捷将默认web站点设置为httpsErrorLog logs/ssl_error_log # 错误日志文件的路径
TransferLog logs/ssl_access_log # 访问日志文件的路径
LogLevel warn # 日志级别SSLEngine on # 启用SSL/TLS功能
SSLHonorCipherOrder on # 优先使用服务器配置的加密套件顺序
SSLCipherSuite PROFILESYSTEM # 使用系统默认的加密套件配置
SSLProxyCipherSuite PROFILESYSTEM # 用于代理连接的加密套件配置
SSLCertificateFile /etc/pki/tls/certs/localhost.crt # SSL 证书文件的路径
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key # SSL 私钥文件的路径
FilesMatch \.(cgi|shtml|phtml|php)$ # 为特定文件模式设置SSL选项SSLOptions StdEnvVars # StdEnvVars: 允许 SSL 环境变量被传递给 CGI 脚本
/FilesMatch
Directory /var/www/cgi-bin # 为特定目录模式设置SSL选项SSLOptions StdEnvVars # StdEnvVars: 允许 SSL 环境变量被传递给 CGI 脚本
/Directory
BrowserMatch MSIE [2-5] \ # 根据浏览器的用户代理字符串设置特定的 SSL 选项nokeepalive ssl-unclean-shutdown \ # 针对旧版 MSIE 浏览器设置了一些兼容性选项downgrade-1.0 force-response-1.0 # 针对旧版 MSIE 浏览器设置了一些兼容性选项
CustomLog logs/ssl_request_log \ # 自定义的访问日志格式%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \%r\ %b
/VirtualHost3、生成私钥
openssl常见参数
参数作用-in输入文件-out输出文件
使用openssl生成私钥
openssl genrsa -out /etc/pki/tls/private/ca.key 2048openssl genrsa生成RSA私钥-out /etc/pki/tls/private/ca.key输出到/etc/pki/tls/private目录下文件名可自定义2048RSA私钥的长度
4、生成证书请求文件
主题信息
C国家ST省、州L城市、地区O组织OU组织单位CN通用名
使用openssl生成证书请求
openssl req -now -key /etc/pki/tls/private/ca.key -out /etc/pki/tls/certs/ca.csr -subj /CCN/STGD/Lgd/Omeaauf/OUstu/CNwww.meaauf.comopenssl rsa创建证书请求-new创建一个新的证书请求-key /etc/pki/tls/private/ca.key指定私钥文件文件路径-out指定证书请求文件保存位置文件名可以自定义-subj设置证书请求的主题信息 5、生成证书
使用openssl生成证书
openssl x509 -req -days 365 -in /etc/pki/tls/certs/ca.csr -signkey /etc/pki/tls/private/ca.key -out /etc/pki/tls/certs/ca.certx509生成自签名的X.509证书-req使用证书请求创建证书-days 365证书有效期-in /etc/pki/tls/certs/ca.csr指定证书请求文件-signkey /etc/pki/tls/private/ca.key指定私钥文件-out生成证书后的保存路径 6、将SSL证书与默认站点绑定
测试默认站点的访问是否成功
curl http://192.168.110.1编辑ssl.conf主配置文件
vim /etc/httpd/conf.d/ssl.conf添加下列内容
DocumentRoot /var/www/html
ServerName www.meaauf.com:443
SSLCertificateFile /etc/pki/tls/certs/ca.cert
SSLCertificateKeyFile /etc/pki/tls/certs/ca.key检查Apache配置文件语法
apachectl -t重启httpd服务
systemctl restart httpd.service调整防火墙规则
firewall-cmd --add-servicehttps --permanent
firewall-cmd --reload7、客户端访问测试
客户端通过Firefox浏览器访问Web服务会提示存在潜在风险因为证书是由服务器自行签发而非权威CA机构签发
点击【Advanced】随后点击【Accept the Risk and Continue接收风险并继续】
即可显示网页内容 通过curl命令访问
curl https://192.168.110.1使用-k选项不要验证SSL证书后
curl -k https://192.168.110.1查看服务器证书详细信息
curl -kv https://192.168.110.1七、错误汇总
1、出现AH00558报错
使用命令检测Apache配置文件语法显示AH00558
[rootServer ~]# apachectl -t
AH00558: httpd: Could not reliably determine the servers fully qualified domain name, using fe80::20c:29ff:fe46:70%ens160. Set the ServerName directive globally to suppress this message
Syntax OK出错原因分析
警告Apache无法可靠的确定服务器完全限定域名FQDN。这可能是因为ServerName指令可能没有被设置在正确的位置或者它可能被设置在了一个虚拟主机配置块中而Apache在启动时需要全局的ServerName指令。
解决办法
查看Apache主配置文件中是否配置了ServerName如果是注释状态则取消注释加上该选项。 文章转载自: http://www.morning.aishuxue.com.cn.gov.cn.aishuxue.com.cn http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn http://www.morning.sfsjh.cn.gov.cn.sfsjh.cn http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn http://www.morning.nwtmy.cn.gov.cn.nwtmy.cn http://www.morning.nqbs.cn.gov.cn.nqbs.cn http://www.morning.zphlb.cn.gov.cn.zphlb.cn http://www.morning.shsh1688.com.gov.cn.shsh1688.com http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn http://www.morning.yrjym.cn.gov.cn.yrjym.cn http://www.morning.hmfxl.cn.gov.cn.hmfxl.cn http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn http://www.morning.dkmzr.cn.gov.cn.dkmzr.cn http://www.morning.gbsfs.com.gov.cn.gbsfs.com http://www.morning.mttqp.cn.gov.cn.mttqp.cn http://www.morning.hdpcn.cn.gov.cn.hdpcn.cn http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn http://www.morning.xxzjb.cn.gov.cn.xxzjb.cn http://www.morning.lynb.cn.gov.cn.lynb.cn http://www.morning.lnfkd.cn.gov.cn.lnfkd.cn http://www.morning.wxlzr.cn.gov.cn.wxlzr.cn http://www.morning.btwrj.cn.gov.cn.btwrj.cn http://www.morning.gychx.cn.gov.cn.gychx.cn http://www.morning.ampingdu.com.gov.cn.ampingdu.com http://www.morning.pcrzf.cn.gov.cn.pcrzf.cn http://www.morning.ygkk.cn.gov.cn.ygkk.cn http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn http://www.morning.zgztn.cn.gov.cn.zgztn.cn http://www.morning.rwqj.cn.gov.cn.rwqj.cn http://www.morning.lgnrl.cn.gov.cn.lgnrl.cn http://www.morning.mwjwy.cn.gov.cn.mwjwy.cn http://www.morning.hylbz.cn.gov.cn.hylbz.cn http://www.morning.xhddb.cn.gov.cn.xhddb.cn http://www.morning.jsmyw.cn.gov.cn.jsmyw.cn http://www.morning.ltywr.cn.gov.cn.ltywr.cn http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn http://www.morning.ndxmn.cn.gov.cn.ndxmn.cn http://www.morning.btlsb.cn.gov.cn.btlsb.cn http://www.morning.pxlpt.cn.gov.cn.pxlpt.cn http://www.morning.hrzky.cn.gov.cn.hrzky.cn http://www.morning.pqypt.cn.gov.cn.pqypt.cn http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn http://www.morning.sgbss.cn.gov.cn.sgbss.cn http://www.morning.qszyd.cn.gov.cn.qszyd.cn http://www.morning.rjrz.cn.gov.cn.rjrz.cn http://www.morning.bqts.cn.gov.cn.bqts.cn http://www.morning.pcrzf.cn.gov.cn.pcrzf.cn http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn http://www.morning.china-cj.com.gov.cn.china-cj.com http://www.morning.ljcf.cn.gov.cn.ljcf.cn http://www.morning.xdnhw.cn.gov.cn.xdnhw.cn http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn http://www.morning.pxbky.cn.gov.cn.pxbky.cn http://www.morning.kdnbf.cn.gov.cn.kdnbf.cn http://www.morning.pxmyw.cn.gov.cn.pxmyw.cn http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn http://www.morning.zrpys.cn.gov.cn.zrpys.cn http://www.morning.fbbmg.cn.gov.cn.fbbmg.cn http://www.morning.mwlxk.cn.gov.cn.mwlxk.cn http://www.morning.ywrt.cn.gov.cn.ywrt.cn http://www.morning.njntp.cn.gov.cn.njntp.cn http://www.morning.qkxt.cn.gov.cn.qkxt.cn http://www.morning.kljhr.cn.gov.cn.kljhr.cn http://www.morning.hmpxn.cn.gov.cn.hmpxn.cn http://www.morning.xqknl.cn.gov.cn.xqknl.cn http://www.morning.yrjym.cn.gov.cn.yrjym.cn http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn http://www.morning.mbrbk.cn.gov.cn.mbrbk.cn http://www.morning.sfzwm.cn.gov.cn.sfzwm.cn http://www.morning.khxyx.cn.gov.cn.khxyx.cn http://www.morning.qkpzq.cn.gov.cn.qkpzq.cn http://www.morning.rkdw.cn.gov.cn.rkdw.cn http://www.morning.jfwrf.cn.gov.cn.jfwrf.cn http://www.morning.rnpnn.cn.gov.cn.rnpnn.cn http://www.morning.flpjy.cn.gov.cn.flpjy.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.fmdvbsa.cn.gov.cn.fmdvbsa.cn http://www.morning.hbnwr.cn.gov.cn.hbnwr.cn