小编bja*_*bel的帖子

Nginx隐藏转发的端口号

我正在尝试建立一个简单的静态网站,我有一个nginx的问题,这个问题很复杂,最明显的是我的ISP阻止了所有入站端口80的流量.

首先,我设置了一个Web前端,以便www.mysite.com重定向到mysite.com:8000,然后设置我的路由器将端口8000转发到运行nginx的服务器.这绕过了我的ISP在端口80上的阻塞.我现在正试图让服务器上的nginx将端口8000上的请求代理到端口80上的虚拟主机,这样该网站在加载后将显示为mysite.com比mysite.com:8000.

我一直试图用nginx的proxy_pass指令来做这件事,但无论我做什么,该网站总是显示为mysite.com:8000.

这是我到目前为止所拥有的:

server {
  listen [::]:8000

  server_name mysite.com;

  location / {
    proxy_pass http://127.0.0.1:80;
    proxy_redirect default;
    proxy_set_header  Host               $http_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  http;
  }
 }

server {
  listen 127.0.0.1:80;

  server_name mysite.com;

  root /var/www/homepage;
  index index.html;

  .
  .  (non-relevant stuff)
  .
}
Run Code Online (Sandbox Code Playgroud)

链接到实际网站:http://www.bjacobel.com

我也尝试通过将路由器上的端口8000转发到端口80,并让nginx在端口80上侦听,但是仍然显示其中包含:8000的URL.

谢谢你的帮助!

port proxy nginx portforwarding

6
推荐指数
1
解决办法
3717
查看次数

Django Rest Framework 3.0 to_representation未实现

我正在使用Django 1.7.1和Python 2.7从Django Rest Framework 2.4升级到3.0.1,并且无法通过以下错误:

File "/Users/bjacobel/.virtualenvs/hey/lib/python2.7/site-packages/rest_framework/fields.py", line 375, in to_representation
    raise NotImplementedError('to_representation() must be implemented.')
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码在2.4下运行得很好,我很难找到关于我正在使用的DRF类中发生了什么变化的任何文档.我评论了除了我的一个端点之外的所有端点(提供CRUD的端点django.contrib.auth.models.User,我仍然得到错误.

serializers.py:

from django.contrib.auth.models import User
from rest_framework import serializers

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('id', 'first_name', 'last_name', 'email', 'username')
Run Code Online (Sandbox Code Playgroud)

views.py:

from django.contrib.auth.models import User
from hey.apps.api import serializers
from rest_framework import viewsets, permissions, filters

class User(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = serializers.UserSerializer
    permission_classes = (permissions.IsAuthenticated,)
    filter_backends = (filters.OrderingFilter,)
Run Code Online (Sandbox Code Playgroud)

urls.py:

from django.conf.urls import patterns, …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

5
推荐指数
1
解决办法
5277
查看次数